मैं mongoose/q वादा फ्रेमवर्क नमूना here से काम कर रहा हूं, लेकिन लगता है कि findOne का उपयोग करने की कोशिश करते समय nfbind के साथ कुछ समस्याएं हैं, मुख्य रूप से Q ढांचे से नमूने मिलान नहीं करते हैं जो लोग हैं।mongoose और q वादा करता है
मेरे कोड:
var mongoose = require('mongoose');
var Q = require('q');
var user_schema = mongoose.Schema({username:String, last_touched:Date, app_ids:[String]});
var user = mongoose.model('user', user_schema);
exports.user = user;
exports.user.find = Q.nfbind(user.find);
exports.user.findOne = Q.nfbind(user.findOne);
अगर मैं user.findOne({username:'test'}).then(function(err, user) { ... }
फोन, उपयोगकर्ता हमेशा अनिर्धारित रहता है। अगर मैं निर्यात को हटा देता हूं और कॉलबैक के साथ गैर-वादा संस्करण का उपयोग करता हूं, तो मुझे उपयोगकर्ता मिल जाता है। मुझे कुछ विशेष जादू याद आ रहा है, लेकिन कोड कार्यान्वयन को देखने के बाद, क्यू जिथूब, और मोंगोज़ डेमो से उदाहरण ... कुछ भी वास्तव में बाहर नहीं निकलता है। findOne
क्यू के साथ काम करने के तरीके के बारे में कोई विचार है?
मैंने मॉड्यूल के बजाय स्रोत में nfbind
फ़ंक्शंस सेट करने का भी प्रयास किया है, लेकिन इसका कोई फायदा नहीं हुआ है।
चेक भी इस सवाल का जवाब http://stackoverflow.com/questions/11912573/node-js-deferred-promisify-mongoose/11931908 –