我正在使用Meteor,正在更新一个文档,并且有代码(错误地):
Programs.update({ _id: id}, { set: { LessonWk1: weekArray }});而不是:
Programs.update({ _id: id}, { $set: { LessonWk1: weekArray }});原来,当我使用'set‘时,它在更新运行时删除了文档。我在Mongo中没有看到任何'set‘命令。只是好奇这些文档是如何从“set”中删除的。
发布于 2016-06-05 05:58:47
这是documentation中提到的预期行为
如果文档仅包含字段:值表达式,则:
update()方法用文档替换匹配的文档。update()方法不会替换_id值。
这意味着您的文档将被替换为类似以下内容:
{ _id: id, set: { LessonWk1: weekArray }}因为它不会替换_id值,所以可以使用findOne返回新文档。
Programs.findOne( { _id: id } )https://stackoverflow.com/questions/37634243
复制相似问题