कुछ विकल्प हैं जिनका उपयोग आप टेक्स्ट खोज के साथ उन आवश्यकताओं के अनुरूप कर सकते हैं। निम्नलिखित दस्तावेजों पर विचार करें:
{ "text" : "cake" }
{ "text" : "sale" }
{ "text" : "sale cake" }
{ "text" : "cake sale" }
{ "text" : "dress sale" }
{ "text" : "cake sale monday" }
शब्दों की डिफ़ॉल्ट "सूची" एक या . है समावेशन, लेकिन यदि आप और . नहीं चाहते हैं आप शब्दों को "उद्धरण" शामिल करें:
db.words.find( { "$text": { "$search": "\"cake\" \"sale\"" } },{_id: 0})
{ "text" : "cake sale" }
{ "text" : "sale cake" }
{ "text" : "cake sale monday" }
अगर आप बहिष्कृत करना चाहते हैं एक शब्द तो आप -
. के साथ उपसर्ग करते हैं :
db.words.find( { "$text": { "$search": "\"cake\" \"sale\" -monday" } },{_id: 0})
{ "text" : "cake sale" }
{ "text" : "sale cake" }
और यदि आप उसका एक भाग सटीक वाक्यांश . के रूप में चाहते थे तब आप पूरे वाक्यांश को "उद्धरण" करते हैं:
db.words.find( { "$text": { "$search": "\"cake sale\" -monday" } },{_id: 0})
{ "text" : "cake sale" }
स्टेमिंग शब्दों में हालांकि कोई समस्या है, इसलिए:
db.words.find( { "$text": { "$search": "test -testing" } },{_id: 0})
वास्तव में कोई परिणाम नहीं लौटाएगा।
$text
. पर दस्तावेज़ देखें उदाहरण के लिए ऑपरेटर। इस समय सभी नहीं हैं, लेकिन यह बेहतर हो रहा है।