2012-06-17 5 views
1

J'appelle la mise à jour de collection de ruby ​​driver à mongodb et obtient un code de retour 117. Comment j'interprète généralement les codes d'erreur que je reçois?Codes de retour MongoDB sens (pilote ruby)

+0

Bonne question. Je commencerais à regarder le code source du pilote Ruby. –

+0

pouvez-vous inclure l'extrait de votre code qui renvoie ceci? –

Répondre

1

Si vous utilisez le mode sans échec, la méthode de mise à jour renvoie un hachage contenant la sortie de getLastError. Cependant, lorsque vous n'utilisez pas le mode sans échec, nous renvoyons simplement le nombre d'octets qui ont été envoyés au serveur.

# setup connection & get handle to collection 
connection = Mongo::Connection.new 
collection = connection['test']['test'] 

# remove existing documents 
collection.remove 
=> true 

# insert test document 
collection.insert(:_id => 1, :a => 1) 
=> 1 
collection.find_one 
=> {"_id"=>1, "a"=>1} 

# we sent a message with 64 bytes to a mongod 
collection.update({_id: 1},{a: 2.0}) 
=> 64 # number of bytes sent to server 

# with safe mode we updated one document -- output of getLastError command 
collection.update({_id: 1},{a: 3.0}, :safe => true) 
=> {"updatedExisting"=>true, "n"=>1, "connectionId"=>19, "err"=>nil, "ok"=>1.0} 

Ceci est quelque chose qui pourrait être rendu plus clair dans la documentation. Je vais le mettre à jour pour la prochaine version du pilote Ruby.