我正在尝试更新此文档;
{"dealId" : 201, "commitCount" : 3 }
...我只需要将commitCount
增加1,所以我试图在update()中使用add []函数,但是我无法让它工作......
db.deal.update( {dealId:201},{$set:{commitCount:{$add:['$commitCount',1]} }} )
我从Mongo得到的错误是not okForStorage
,不知道这意味着什么,该字段没有更新,
答案 0 :(得分:8)
该错误意味着您正在尝试使用MongoDB中无效的字段名称 - 该字段名称中包含带点(“。”)的字段名称或包含美元符号的字段名称。 / p>
$set
用于完整替换字段,因此您上面所说的是“将commitCount
字段的内容替换为文档{$add: ['$commitCount', 1]}
”,这是一个文件无效。
要以原子方式递增或递减字段的值(假设字段的当前值为数字),请使用$inc
修饰符:
db.deal.update({dealId: 201}, {$inc: {commitCount: 1}})