2011-01-22 23 views
7

Giả sử như sau:Cập nhật tài liệu bằng trình điều khiển mong-ruby?

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

Làm thế nào tôi có thể sử dụng Mongo-ruby-tài xế liệu để cập nhật các tài liệu tương ứng với x bằng cách sử dụng cả hai phương pháp viết lại và phương pháp cập nhật nguyên tử? (Xem http://api.mongodb.org/ruby/current/file.TUTORIAL.html#Updating_a_Document)

Trả lời

10

đưa ra ví dụ của bạn, nếu bạn muốn sử dụng phương pháp viết lại nó sẽ là như thế này:

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

hoặc nếu bạn muốn để nguyên tử thay đổi một giá trị, nó sẽ là như thế này:

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

Hoạt động này bơi lội, cảm ơn! –

+2

Ngoài ra, nếu bạn muốn cập nhật nhiều tài liệu: 'coll.update ({}, {" $ set "=> {}}, {: multi => true})' Chỉ cần nghĩ Tôi sẽ thêm nó vì tôi không thể tìm thấy nó ở bất cứ đâu. – GoldfishGrenade

Các vấn đề liên quan