12
votes

Ruby Mongo Driver - Find_By_ID

Qu'est-ce que je fais mal ici? Je sais que c'est dans la base de données, mais je reçois un résultat vide. XXX

MERCI


2 commentaires

Retourne-t-il quelque chose si vous exécutez la même chose à la main dans dB?


@Vlad, j'utilise mongohq et j'utilise en fait lorsque je recherche {_ID: "4db2ebee90036f010b000001"} Je ne reçois aucun résultat. Cependant, je ne comprends pas pourquoi. La ligne est là.


5 Réponses :


18
votes

Utilisez ceci:

coll.find(:_id => BSON::ObjectId('4db2ebee90036f010b000001')).each do |data| 
   puts data.inspect 
end


0 commentaires

9
votes

@B contiendra un curseur, pas le résultat. Vous devez également utiliser un identifiant d'objet approprié.

Vous voulez probablement ceci: xxx


0 commentaires

2
votes

avec rubis 1.9.3 et mongoïde 3.0.19 xxx

ou xxx

trouver l'enregistrement. Ne sera jamais un jour, _ID est la clé primaire, elle ne peut jamais être double.


0 commentaires

1
votes

J'utiliserais quelque chose comme d'abord qui renvoie un objet car vous avez des problèmes plus importants si votre identifiant principal est dupliqué dans votre base de données. La syntaxe dépend de votre version de GEM Mongo Celui-ci est pour 2.1.0. xxx


0 commentaires

1
votes

Utilisation de, version rubis 2.3.1P112, Mongo (GEM) 2.4.2 et BSON (GEM) 4.2.2

Les suivants ont fonctionné pour moi p>

client = Mongo::Client.new(['127.0.0.1:3001'], :database=>'dbname')
collection = client[:users]
user = collection.find({_id:'XY3h5R7aJkh5FxFhJ'}).first


0 commentaires