मैं यह लाने की कोशिश कर रहा हूं कि रिकॉर्ड मौजूद है या नहीं, इसलिए मैं मान, मानगो डीबी के क्षेत्र और संग्रह नाम को पैरामीटर के रूप में पास कर रहा हूं और मैं डेटाबेस से रिकॉर्ड लाने में असमर्थ हूं। लेकिन अगर मैं फ़ील्ड का नाम हटा देता हूं और सीधे खोज फ़ंक्शन में दिया जाता है तो यह काम कर रहा है। मुझे नहीं पता कि अगर मैं फील्ड के लिए भी इनपुट देता हूं तो यह काम क्यों नहीं कर रहा है।

dboperations.search(req.body.userid,"userid" ,"customers",function (result) {
        console.log(result)
    }

मैं इसका उपयोग करके खोज फ़ंक्शन को कॉल कर रहा हूं और खोज फ़ंक्शन परिभाषा थी

exports.search=function(value,field,collection,callback){

   mongo.get().collection(collection).find({field:value}).toArray(function(err, result) {

        if (err) throw err;
        console.log(result)
        callback(result)
    });
}
0
vamsi reddy 27 मार्च 2018, 11:59

2 जवाब

सबसे बढ़िया उत्तर

गतिशील वस्तु कुंजी का प्रयोग करें

exports.search=function(value,field,collection,callback){

   mongo.get().collection(collection)
        .find({[field]:value}) // <- fix is here
        .toArray(function(err, result) {

        if (err) throw err;
        console.log(result)
        callback(result)
    });
}
1
Hendry 27 मार्च 2018, 09:09

अपने वेरिएबल्स को [] के साथ संलग्न करें, ताकि उन्हें इस तरह के अनुरोध के लिए व्याख्यायित किया जा सके:

mongo.get().collection(collection).find({[field]:[value]}).toArray(err, result) {

});
1
Nicolas 27 मार्च 2018, 09:09