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

MongoDB क्वेरी को कैननिकलाइज़ नहीं कर सकता:BadValue बहुत अधिक टेक्स्ट एक्सप्रेशन

त्रुटि काफी सटीक है। आप जो करने का प्रयास कर रहे हैं वह एक <के अंदर "एकाधिक टेक्स्ट क्वेरी" बनाना है। मजबूत>$या स्थि‍ति। MongoDB ऐसा नहीं कर सकता है और यह वास्तव में प्रतिबंध मैनुअल पेज में $text

इसके अलावा, आप माना नहीं हैं ऐसा करने के लिए, बल्कि एक specify निर्दिष्ट करें यदि आवश्यक हो तो एकाधिक फ़ील्ड पर खोजने के लिए आपके संग्रह पर टेक्स्ट इंडेक्स:

db.collection.ensureIndex({ "comments": "text", "title": "text" })

और फिर आप शायद वज़न असाइन करना चाहते हैं जैसा कि यहां दिखाया गया है

लेकिन ऐसा लगता है कि आप वास्तव में "एकाधिक शब्दों" की खोज करना चाहते हैं। इसलिए आप $या . का उपयोग नहीं करते हैं इसके लिए, लेकिन केवल रिक्त स्थान से अलग किए गए शब्दों की सूची सबमिट करें:

db.collection.find({ "$text": { "$search": "something else" } })

स्पेस सीमांकित सूची में किसी भी शब्द को टेक्स्ट इंडेक्स के भीतर जो भी फ़ील्ड हैं, उसके संदर्भ में खोजा जाता है, और कोई भी दस्तावेज़ जिसमें उन शब्दों में से "कोई भी" होता है, वापस कर दिया जाएगा। उस सूची में शब्दों के अधिक मिलान के "वजन" द्वारा आदेशित परिणामों के साथ।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB दस्तावेज़ में एकाधिक फ़ील्ड के अस्तित्व की जाँच करें

  2. क्या मुझे उत्पादन सर्वर में तैनाती करते समय मोंगो बीन का मूल्य बदलना चाहिए?

  3. स्प्रिंग मोंगो में नेस्टेड दस्तावेज़ के रूप में प्रोजेक्ट करें

  4. मैं MongoDB संग्रह से JSON फ़ीड कैसे बनाऊं?

  5. आपके अनुप्रयोगों के लिए पारदर्शी डेटाबेस विफलता