【发布时间】:2013-04-19 11:57:48
【问题描述】:
我了解您无法在现有 mongodb 文档上更新 _id 的事实。
但是有没有理由我们不能在“setOnInsert”部分的 upsert 中使用它?因为它是“插入时”,所以它不是更新。
我的预期用法是这样的:
db.myCol.update({_id:12345},{$setOnInsert:{_id:12345},$set:{myValue:'hi'}});
这是一个错误还是我错过了什么?
【问题讨论】:
-
upsert 标志在哪里?只需将 setOnInsert 关闭,正确的事情就会发生。 db.myCol.update({_id:12345},{$set:{myValue:'hi'}})
-
是的,你是对的,我忘了包括 upsert 标志。显然,如果它是 upsert,它会自动将 find 部分包含到插入中。谢谢:)
-
完全正确。你想把它写成答案还是我应该写?
标签: mongodb