2011-01-22 15 views
7

Zakładając następujące:Aktualizacje dokumentu za pomocą sterownika mongo-ruby?

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

Jak mogę użyć surowego Mongo-ruby-kierowcy, aby zaktualizować dokument odpowiadający X przy użyciu zarówno przepisywanie sposobu i metody aktualizacji atomową? (Patrz http://api.mongodb.org/ruby/current/file.TUTORIAL.html#Updating_a_Document)

Odpowiedz

10

podane dane wyjściowe przykład, jeśli chcesz użyć metody przepisywania byłoby tak:

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

lub jeśli chcesz atomowo zmienić wartość, to byłoby tak:

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

Działa to płynnie, dzięki! –

+2

Ponadto, jeśli chcesz zaktualizować wiele dokumentów: 'coll.update ({}, { "$ zestaw"=> {}}, {: Multi => true})' Pomyślałem Dodałbym, że skoro nie mogłem go nigdzie znaleźć. – GoldfishGrenade

Powiązane problemy