आप नहीं किसी फ़ंक्शन से वापसी मान के रूप में एक एसिंक्रोनस परिणाम का उपयोग करें। यह इत्ना आसान है। आपको कॉल करने वाले को एक कॉलबैक के माध्यम से एसिंक्रोनस परिणाम देना होगा जो फ़ंक्शन के पैरामीटर के रूप में प्रदान किया जाता है (या वायदा/वादों का उपयोग करें और उस चरण को प्रभावी ढंग से स्थगित करें, लेकिन यह अधिक शामिल है)।
if_exists
इसके बजाय इस तरह दिखना चाहिए:
var if_exists = function(query, where, callback) {
require('mongodb').connect(DB.mongo_url, function(err, db) {
db.collection(where, function(err, coll) {
coll.findOne(query, function(e, r) {
//console.log(r);
if (r === null) {
callback(e, false);
} else {
callback(e, true);
}
// You should either close db here or connect during start up
// and leave it open.
db.close();
});
});
});
}