📅  最后修改于: 2023-12-03 15:11:11.784000             🧑  作者: Mango
如果您在使用Mongoose操作MongoDB,则可以通过操作猫鼬(Mongoose)来更新子文档。
使用以下方法来更新子文档:
// 根据 id 更新子文档
ParentModel.findOneAndUpdate(
{ _id: parentId, '子文档的id': subDocId },
{ $set: { '子文档的字段': '修改后的值' } },
{ new: true },
function(err, doc) {
if (err) {
console.log("更新子文档时出错: ", err);
} else {
console.log("更新子文档后的结果: ", doc);
}
}
);
这是使用 findOneAndUpdate() 函数的标准方法。其中:
在这个例子中,我们使用了一个回调函数,可以更好地处理异步代码。
请注意,如果要更新整个子文档,而不只是子文档中的一部分,请使用以下代码:
ParentModel.findOneAndUpdate(
{ _id: parentId, '子文档的id': subDocId },
{ $set: { '子文档的字段名' : newCompleteSubDoc } },
{ new: true },
function(err, doc) {
if (err) {
console.log("更新子文档时出错: ", err);
} else {
console.log("更新子文档后的结果: ", doc);
}
}
);
在这里,newCompleteSubDoc 是您要替换子文档的新文档。