如何在Mongo的update()函数中使用$ add?

时间:2012-01-01 00:49:40

标签: function mongodb

我正在尝试更新此文档;

{"dealId" : 201, "commitCount" : 3 }

...我只需要将commitCount增加1,所以我试图在update()中使用add []函数,但是我无法让它工作......

db.deal.update( {dealId:201},{$set:{commitCount:{$add:['$commitCount',1]} }} )

我从Mongo得到的错误是not okForStorage,不知道这意味着什么,该字段没有更新,

1 个答案:

答案 0 :(得分:8)

该错误意味着您正在尝试使用MongoDB中无效的字段名称 - 该字段名称中包含带点(“。”)的字段名称或包含美元符号的字段名称。 / p>

$set用于完整替换字段,因此您上面所说的是“将commitCount字段的内容替换为文档{$add: ['$commitCount', 1]}”,这是一个文件无效。

要以原子方式递增或递减字段的值(假设字段的当前值为数字),请使用$inc修饰符:

db.deal.update({dealId: 201}, {$inc: {commitCount: 1}})