如何在MongoDB中更新给定父级和子级id的对象字段的子字段?



给定父对象和子对象的id,我想更新子字段(作为对象存在)条目。

const QuestionSchema = mongoose.Schema({    //_id1
...
...
comment: [{                               //_id2
commentBody: String,
...
...
}]
}]

上面显示的是模式,我想将特定字段的commentBody更新为对象"comment",给定<_id1>作为问题id和<_id2>作为评论。
我作为初学者尝试过,但它不起作用。请配置此代码中的语法或逻辑错误。

const updatedQuestioncomment = await Questions.findByIdAndUpdate({ "_id": _id1 }, { "comment._id": id2 }, { $set: { 'comment': [{ 'commentBody': commentBody }] } });

谢谢! !

我相信这就是你想要的…

const doc = await Questions.findOneAndUpdate(
{'_id': _id1, 'comment._id': id2},
{ '$set': { 'comment.$.commentBody': 'CHANGED!' } }
);

最新更新