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

War es hilfreich?

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
scroll top