【发布时间】:2016-12-05 22:09:48
【问题描述】:
我在mongodb 数据库上运行update 语句,它删除了我的文档!我做错了什么?
这是更新声明:
db.Question.update( {Name: "IsSomeCompany"}, {ButtonValues: [0, 1, 2] } )
我正在使用Robomongo,回复是Updated 1 record(s) in 22ms,但是当我检查数据库时,记录消失了。我在这里想念什么?
【问题讨论】:
-
“记录”是什么意思?它应该是文档字段还是整个文档?那么,您知道您的更新查询没有任何
$set或$unset运算符吗? -
您替换了与
{Name: "IsSomeCompany"}条件匹配的文档为{ButtonValues: [0, 1, 2] }。如果您打算更新部分匹配文档,请使用$set运算符。 -
您使用的工具在这种情况下无关紧要。我使用这种语法来更新多个文档。 db.getCollection('YourDocument').update( { "matchingField" : "matchingValue"}, {$set: { "field": "value" } }, { multi: true } )
-
@Hamedz 谢谢。你能写这是一个答案吗?更新的文档不清楚(至少我看的地方),我没有看到你需要 $set.所以我认为它作为一个答案可能很有价值。