我有一个这样的架构结构:
const projectSchema = new Schema(
{
...
actors: [
{
criteria:[
criteriaName: String,
criteriaDescription: String
]
}
]
...
},
);
我想更改特定的critiriaDescripion
,这就是我尝试过的
criteria.updateOne(
{"_id": uid,},
{$set: {
"projectActors.$[i].actorCriteria.$[j].criteriaDescription": criteriaDescripion
}},
{arrayFilters:[{"i._id":actid},{"j._id":cid
}]}, (err) => {
if (err) {
return res.send({
success: false,
message: err
});
}
else {
return res.send({
success: true,
message: 'Criterion Edited'
});
}
});
但是,我不能更改该值,也不知道为什么。我尝试打印操作输出,结果如下:
{ n: 1,
nModified: 0,
opTime:
{ ts:
Timestamp { _bsontype: 'Timestamp', low_: 8, high_: 1549364596 },
t: 2 },
...}