सभी फ़ील्ड पर टेक्स्ट खोज करने के लिए, आपको पहले सभी फ़ील्ड पर टेक्स्ट इंडेक्स बनाना होगा।
जैसा कि मोंगोडब प्रलेखन इंगित करता है, "स्ट्रिंग सामग्री वाले सभी क्षेत्रों पर पाठ खोज की अनुमति देने के लिए, स्ट्रिंग सामग्री वाले सभी क्षेत्रों को अनुक्रमित करने के लिए वाइल्डकार्ड विनिर्देशक ($**) का उपयोग करें।"
यदि आप मोंगो खोल के अंदर काम कर रहे हैं (जिसे आप 'मोंगो' कहकर कमांड लाइन से निष्पादित करते हैं), तो आप इसे इस कमांड से कर सकते हैं, जहां 'संग्रह' उस डीबी में संग्रह का नाम है जिसका आप उपयोग करना चाहते हैं।
db.collection.createIndex({ "$**": "text" },{ name: "TextIndex" })
दूसरी वस्तु, यानी {name:"TextIndex"}
, वैकल्पिक है...आपको वास्तव में अनुक्रमणिका को एक नाम देने की आवश्यकता नहीं है, क्योंकि प्रति संग्रह केवल एक पाठ अनुक्रमणिका हो सकती है (एक समय में...आप अनुक्रमणिका छोड़ सकते हैं और यदि आप चाहें तो नई अनुक्रमणिकाएँ बना सकते हैं)।
एक बार जब आप सभी क्षेत्रों पर एक टेक्स्ट इंडेक्स बना लेते हैं, तो आप निम्न क्वेरी ऑब्जेक्ट के साथ एक साधारण टेक्स्ट खोज कर सकते हैं:{ $text : { $search: <your string> } }
इसलिए, यदि आप एक जावास्क्रिप्ट फ़ंक्शन लिख रहे हैं तो आप कुछ ऐसा कर सकते हैं:
var cursor = db.collection(<collection_name>).find({ $text: { $search: <your string> } });
खोज को नियंत्रित करने के विभिन्न तरीकों के बारे में अधिक जानकारी के लिए, यहां टेक्स्ट सर्चिंग पर मोंगोडब दस्तावेज़ देखें