我在 mongodb 中使用子文档。
使用一级子文档,我可以更新文档
Parent.findOneAndUpdate({ _id: parentId, 'children._id': childId }, {
$set: {
'children.$.name': name
}
}, (err, doc) => {
...
});
但我对另一个级别的子文档做同样的事情时遇到问题,即
Parent.findOneAndUpdate({ _id: parentId, 'children._id': childId, 'children.grandchildren._id': grandchildId }, {
$set: {
'children.$.grandchildren.$.name': name
}
}, (err, doc) => {
...
});
位置运算符 ( $
) 是否仅限于 1 级子文档?