我正在使用Ruby MongoDB驱动程序与Sinatra应用程序中的Mongo数据库进行交互。我正在执行一些批量更新操作,因此需要根据找到的文档中字段的当前值来更新文档字段的值。
我想做这样的事情:
my_bulk_op.find({
'foo' => 'bar'
}).update({
'$set' => {
'my_field' => my_field += 1 # how can I get my_field's current value here?
}
})
这样的方法可行吗?我意识到我可以预先找到所有值,然后执行更新,但是在很多方面都违反了批量操作的目的
您可以尝试以下过去通过批量操作为我工作的方法:
my_bulk_op.find({
'foo' => 'bar'
}).update({
'$inc' => {
'my_field' => 1
}
})
资料来源:https : //docs.mongodb.com/manual/reference/operator/update/inc/
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句