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. MERCI P> P>
5 Réponses :
Utilisez ceci:
coll.find(:_id => BSON::ObjectId('4db2ebee90036f010b000001')).each do |data| puts data.inspect end
@B contiendra un curseur, pas le résultat. Vous devez également utiliser un identifiant d'objet approprié.
Vous voulez probablement ceci: p>
avec rubis 1.9.3 et mongoïde 3.0.19 ou p> trouver l'enregistrement. Ne sera jamais un jour, _ID est la clé primaire, elle ne peut jamais être double. P> p>
J'utiliserais quelque chose comme d'abord code> 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.
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
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à.