【发布时间】:2016-01-17 16:07:57
【问题描述】:
将 Ruby-on-Rails 与 ruby 版本 2.2.0、MongoDB 版本 3.0.5 一起使用时,
当更新数据是空哈希时,我在尝试执行包含更新和增量的更新查询时遇到了奇怪的行为:
运行命令时:
(1)db.collection.update({'user_id' => 123456}, {'$set' => {}, '$inc' => { 'counter' => 1 }}, {:upsert => true})
counter 字段的值保持不变(没有变化)。
运行命令时:
(2)db.collection.update({'user_id' => 123456}, {'$inc' => { 'counter' => 1 }}, {:upsert => true})
正如预期的那样,counter 字段的值增加了 1。
有人可以向我解释一下为什么命令 (1) 的结果与命令 (2) 的结果不同吗?
【问题讨论】:
标签: ruby-on-rails ruby mongodb