MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

देश के अनुसार फ़िल्टर करें और नेवला का उपयोग करके मुफ्त टेक्स्ट सर्च मोंगोडब

सबसे पहले मुझे आशा है कि आप जानते हैं कि $text perform आधारित क्वेरी के लिए आपके पास टेक्स्ट आधारित इंडेक्स उस विशेष क्षेत्र पर।

दूसरे आप कॉलबैक और वादों को भ्रमित करने वाले लगते हैं -

जैसा कि मैं आपकी query() देख सकता हूं जब आप query() . को कॉल कर रहे हों तब भी फ़ंक्शन एक वादा लौटा रहा है फ़ंक्शन आप कॉलबैक की अपेक्षा कर रहे हैं। वादे आपको तुरंत वापस कर दिए जाते हैं और फिर आपको उन्हें हल करने की आवश्यकता होती है।

आपका कोड इस तरह दिखना चाहिए -

dbHelper.query(mongoose.model('events'), {$text: {$search: "Ade"},'place.location.country': "Australia"})
.then(function(result)){
    // you have your data here
}
.catch(function(err)){
    // an error occured
}

वादों के बारे में और पढ़ें यहां

एक और छोटी सी बग जो मैं देख सकता हूं वह है query() तरीका। if statement घुंघराले ब्रेस का उपयोग नहीं करता है और परिणामस्वरूप if statement . के बाद केवल अगला कथन होता है if . के तहत क्रियान्वित किया जाएगा खंड। if . के बाद दूसरा स्टेटमेंट हमेशा निष्पादित किया जाएगा -

तो,

if(error)
    console.log(error);
// always executed
reject(error);
resolve(data);

होना चाहिए -

if(error){
    console.log(error);
    reject(error);
}
resolve(data);

मुझे अभी भी यकीन नहीं है कि ये सभी आपके कोड को काम करने में सक्षम होंगे क्योंकि मैं यहां पूरी तस्वीर नहीं देख सकता। मैं आईएमएचओ अनुशंसा करता हूं कि आप जावास्क्रिप्ट और मोंगोडीबी मूल बातें कवर करने में कुछ और समय निवेश करें। आपका बहुत समय बचाने में मदद करेगा। और उस मामले के लिए MongoDB का आधिकारिक दस्तावेज़ वास्तव में अच्छे हैं।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. नेस्टेड वस्तु संपत्ति पर MongoDB $ne का उपयोग कैसे करें?

  2. MongoDB में एक मल्टीकी इंडेक्स बनाएं

  3. लार्वा जेनसेजर्स को मोंगोडब एटलस क्लस्टर से कनेक्ट करें

  4. क्या उल्का स्वचालित रूप से मोंगोडब संस्करण अपडेट करता है?

  5. mongoDB वस्तुओं के नेस्टेड सरणी पर कुल लुकअप