2012-07-30 55 views
1

我在Mongoid2此查詢工作正常:mongoid3中這個mongoid2查詢的等價物是什麼?

GlobalWord.collection.update({"_id" => "foo"}, {"$inc" => {:count => 1}}, :upsert => true) 

如果找到GlobalWord用id foo,則更新由一個其計數,否則它將創建一個具有ID foo和計數的文件一個。我沒有在mongoid3中找到相同的結果。

編輯:我需要查詢的是原子

回答

1

我用 GlobalWord.create上沒有的MongoDB(:ID =>字)。公司(:算,1) 這似乎是原子

1

我認爲這應該工作:

GlobalWord.find("_id": "foo").upsert("$inc": {count: 1}) 

我沒有測試它,但。還有我的手機:)

+0

如果該單詞尚未在數據庫中,則這不起作用 – 2012-08-13 10:25:40

0

docs & rdoc

GlobalWord.new(id: word).upsert("$inc" => {count: 1})