Wie kann ich ein Dokument, das von _id abrufen?
Frage
Ich versuche, ein Dokument abzurufen, wenn ich ein Objekt-ID haben -. Jedoch die Abfrage nicht funktioniert
@collection = @db.collection('Mylist')
@result = @collection.find({"_id" => params[:id]})
Ich habe versucht, Variationen der Abfrage - es liefert immer leer -. Aber wenn ich versuche, eine Abfrage auf der Sammlung wie unten, die funktionieren würde
@result = @collection.find({"Exist" => "True"})
Warum? Es ist seltsam, dass komplexe Abfragen arbeiten, aber eine einfache Abfrage von _id kehrt nichts.
Wenn möglich, ich möchte nicht, MongoMapper verwenden.
Danke
Lösung
es gefunden - man muss es so wickeln -
find({"_id" => Mongo::ObjectId(params[:id])})
Andere Tipps
find(:_id => BSON::ObjectID(params[:id])
Dies würde auch funktionieren: @ Coll.find_one (ObjectID.from_string (params [: id]))
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow