تخزين نتيجة استعلام mongoose (node.js orm)
سؤال
هل هناك على أي حال للقيام بشيء مثل:
var first_user = User.find({ _id: user_id }).first();
باستخدام النمس orm؟ http://github.com/learnboost/mongoose
ما أحاول القيام به هو تخزين النتيجة التي تم إرجاعها للاستفسار لاستخدامها لاحقًا.
عندما أستخدم ما سبق ، كل ما أعود إليه في var first_user
هل QueryWriter هدف.
المحلول
يمكنك الوصول إلى نتائج استعلام mongoose من خلال رد الاتصال. ستجد أن Mongoose ، مثل معظم وحدات Node.js ، يستخدم واسعة النطاق لعمليات الاسترجاعات Async. يوفر Mongoose أيضًا طريقة لطيفة لإعادة كائن عن طريق معرفه ، وإذا كنت ترغب في استخدام هذه النتيجة خارج نطاق رد الاتصال ، يمكنك القيام بذلك على هذا النحو:
var first_user;
User.findById(user_id, function(user){
first_user = user;
});
لمكالمات واجهة برمجة تطبيقات Mongoose الأخرى ، أوصي بالبحث في اختبارات Mongoose للحصول على مرجع جيد. الدفع http://github.com/learnboost/mongoose/blob/master/tests/integration/model.test.js