我正在使用Meteor并正在更新文档并获取代码(错误地):
Programs.update({ _id: id}, { set: { LessonWk1: weekArray }});
而不是:
Programs.update({ _id: id}, { $set: { LessonWk1: weekArray }});
当我使用' set'它在更新运行时删除了文档。我没有看到任何'设置'在Mongo中执行命令。只是好奇如何从“设置”中删除文档。
答案 0 :(得分:1)
这是documentation中提到的预期行为:
如果文档仅包含field:value表达式,则:
update()方法用文档替换匹配的文档。 update()方法不替换_id值。
这意味着您的文档会被替换为:
{ _id: id, set: { LessonWk1: weekArray }}
因为它没有替换_id
值,您可以使用findOne
返回新文档。
Programs.findOne( { _id: id } )