0

谁能告诉我为什么这在 mongodb 中有效

db.sub_count.update({"subject":"petad","count":1},{$inc:{"count":1}})

但这不适用于红宝石

sub_count.update({"subject" => "petad", "count"=> 1},{$inc => {"count" => 1}})

我在哪里得到错误

/lib/bson/bson_c.rb:24:in `serialize': keys must be strings or symbols (TypeError)
4

1 回答 1

1

查询应该是:

sub_count.update({...}, {"$inc" => {"count" => 1}}) # And not :$inc

$inc不是有效的符号(或字符串),这就是您看到错误的原因。

旁白:我不确定这是否有效:您可以通过这种方式定义符号,但Ruby 驱动程序文档:"$inc"中没有提到符号可用于原子运算符,因为我在任何时候都没有尝试过,我不知道。

于 2012-08-06T12:31:36.147 回答