سؤال

أحاول استرداد مستند عندما يكون لدي معرف كائن - ومع ذلك، فإن الاستعلام لا يعمل.

@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]))

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top