更新文档,请使用db.collectionName.update()
- 默认情况下,MongoDB会进行完整的文档替换
- 如果我使用更新修饰符,它会以修饰符确定的方式有选择地更新绑定到修饰符的键,例如:
db.collectionName.update({name:"someName"}, {"$set": {age:30}}
将更改 age
值,而不是删除并重新创建文档。
好的,好的......
问题:为什么update()
的默认行为是这样的?
为什么update()
方法在选择性价值修改方面有这样的冗长?
我不了解更新修饰符的价值。在我看来,update()
应匹配密钥并相应地替换,而另一种方法(例如replace()
)应具有update()
的默认行为。
基本上,我想我不明白为什么更新修饰符被实现为选择性文档值修改的必要条件。
我只是开始阅读MongoDB,所以我可能会遗漏一些想法。然而,一个快速的谷歌&所以搜索没有帮助。
thx for the insight