2012-08-01 54 views
3

我有下面的MongoDB更新操作,但它似乎無效,任何人都知道爲什麼?Mongodb簡單更新在Ruby/Mongoid中不起作用

User.collection.update({ _id: BSON::ObjectId("5018ed448712ff240e0000a0") }, 
         { "$set" => { name: "ben" } }) 

它不會拋出一個錯誤,但只是我猜測的一些整數是文檔大小。

我使用Mongoid 2.4.10/Rails的3.2.7

+1

User.collection.update({「_ id」=> BSON :: ObjectId('5018ed448712ff240e0000a0')},{「$ set」=> {「name」=>「ben 「}}) – user956584 2012-08-01 10:34:06

回答

0

,您可以改用mongoid API和使用下面的命令:

User.find("5018ed448712ff240e0000a0").set(name: "ben") 
2

如果您正在使用Mongoid,你承擔責任:水災只是做一個查找和更新:

User.find("5018ed448712ff240e0000a0").update_attributes!(name: "ben") 

,或者您可以使用設置:

User.find("5018ed448712ff240e0000a0").set(:name, "ben") 

請注意,set()需要2個參數;它不接受散列作爲參數