2013-11-25 7 views
11

मैं Mongoose.js के लिए नया हूं और मैं सोच रहा हूं कि एक साधारण मोंगोस क्वेरी कैसे बनाएं, जो पात्रों को उनके द्वारा प्रस्तुत किए गए क्रम में मान देता है।मोंगोस में आंशिक स्ट्रिंग मैचों के लिए खोज क्वेरी कैसे बनाएं?

यह एक स्वतः पूर्ण रूप के लिए होगा, जिसमें शहरों को उन नामों से वापस करने की आवश्यकता है जिनमें खोज क्षेत्र में वर्ण इनपुट शामिल हैं। क्या मुझे .where क्वेरी से शुरू करना चाहिए?

+1

तो 'ln' को 'लंदन' और 'कोलन' वापस करना चाहिए? –

+0

क्षमा करें, अच्छा बिंदु, खोज को खोज क्षेत्र में ऑर्डर इनपुट में स्ट्रिंग वाले मानों को वापस करना चाहिए – ac360

+0

http://stackoverflow.com/questions/35838387/how-to-find-all-the-results-containing-a -given-सबस्ट्रिंग-साथ-रिक्त स्थान में नेवला/41398045 # 41398045 –

उत्तर

23

आप regexp द्वारा पा सकते हैं, जो आपको एक लचीली (हालांकि बेहद तेज नहीं) रास्ते में खोजने की अनुमति दे सकता है। कोड कुछ समान होगा;

var input = 'ln'; // the input from your auto-complete box 

cities.find({name: new RegExp(input, "i")}, function(err, docs) { 
    ... 
}); 
बेशक

, आप preprocess स्ट्रिंग यह शुरुआत (^ से पहले जोड़ें) से मेल खाते हैं, अंत से ($ द्वारा संलग्न) बनाने के लिए आदि सकता है बस इतना ध्यान रखें कि लंबे समय तार की मनमानी भागों के खिलाफ मिलान किया जा सकता है धीमी गति से।

संबंधित मुद्दे