كيف يمكنني استرداد مستند بواسطة _ID؟
سؤال
أحاول استرداد مستند عندما يكون لدي معرف كائن - ومع ذلك، فإن الاستعلام لا يعمل.
@collection = @db.collection('Mylist')
@result = @collection.find({"_id" => params[:id]})
لقد جربت الاختلافات في الاستعلام - فهو دائما غلة فارغة - ولكن عندما أجرب استفسارا في المجموعة مثل أدناه، من شأنها أن تعمل.
@result = @collection.find({"Exist" => "True"})
لماذا ا؟ من الغريب أن الاستعلامات المعقدة تعمل ولكن استفسار بسيط من قبل _ID لا يعد شيئا.
إذا كان ذلك ممكنا، لا أريد استخدام Mongomapper.
شكرا
المحلول
وجدت ذلك - تحتاج إلى لفه مثل هذا -
find({"_id" => Mongo::ObjectId(params[:id])})
نصائح أخرى
find(:_id => BSON::ObjectID(params[:id])
هذا من شأنه أن يعمل أيضا: @ colle.find_one (ObjectID.From_String (Params [: ID]))
لا تنتمي إلى StackOverflow