2011-01-22 8 views
7

と仮定すると、以下:mongo-ruby-driverを使用してドキュメントを更新しますか?

irb> x 
irb> => {"_id"=> 123456, "welcome"=>"Hi!", "welcome2" => "Enjoy your stay!"} 
irb> coll.class 
irb> => Mongo::Collection 

にはどうすればいいの書き換え方法とアトミック更新方法の両方を使用して、Xに対応する文書を更新するために、生のmongo-rubyのドライバを使用することができますか?

coll.update({"_id" => x["_id"]}, x) 

か、アトミック値を変更したい場合は、それはこのようになります:あなたが書き換え方法を使用する場合、それはこのようになり、あなたの例の出力与え

答えて

10

http://api.mongodb.org/ruby/current/file.TUTORIAL.html#Updating_a_Documentを参照してください)

coll.update({"_id" => x["_id"]}, {"$set" => {"welcome" => "Hello There"}}) 
+0

これはswimmingly作品、ありがとう! –

+2

また、あなたが複数のドキュメントを更新する場合: 'coll.update({<検索条件>}、{ "$セット"=> {}}、{:マルチ=>真})' だけの思考私はそれをどこにでも見つけることができなかったので、それを追加したいと思います。 – GoldfishGrenade

関連する問題