ठीक है, रेगेक्स और टेक्स्ट सर्च ($ टेक्स्ट) दोनों आपको टेक्स्ट में बहुत कुशलता से खोजने में मदद करते हैं। दोनों के अपने फायदे और नुकसान हैं, लेकिन दो स्पष्ट अंतर हैं
<ब्लॉकक्वॉट>रेगेक्स
-
जब तक आप
^
. का उपयोग करके स्ट्रिंग की शुरुआत में खोज नहीं कर रहे हैं, तब तक रेगेक्स इंडेक्स का लाभ नहीं उठाता है ऑपरेटर। -
रेगेक्स आपको आंशिक पाठ खोजने की अनुमति देता है। इसलिए .* और कई अन्य पैटर्न।
-
रेगेक्स स्टॉप या शोर शब्दों का समर्थन नहीं करता है।
$पाठ
मोंगोडब में टेक्स्ट इंडेक्स वास्तव में तेज़ हैं और इन्हें प्राथमिकता दी जानी चाहिए। हालाँकि, MongoDB पूर्ण विशेषताओं वाले टेक्स्ट इंडेक्स को लागू नहीं करता है। एक मुख्य दोष यह है कि यह आंशिक मिलान का समर्थन नहीं करता है। जैसे अगर आप बिल्ली की तलाश कर रहे हैं, तो वह केवल बिल्ली और बिल्ली की खोज करेगी, लेकिन बॉबकैट या कैटरपिलर की नहीं।
<ब्लॉकक्वॉट>
लब्बोलुआब यह है कि यदि आप RDBMS like
. जैसी सुविधा को लागू करना चाह रहे हैं ऑपरेटर, '$text' आपकी मदद नहीं करेगा (कम से कम MongoDB के वर्तमान कार्यान्वयन में, लेकिन भविष्य में यह बदल सकता है)।