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

मैं मोंगोडीबी में समान दस्तावेज कैसे ढूंढ सकता हूं?

सबसे पहले, आपका डेटा नीचे के रूप में फिर से तैयार किया जाना चाहिए:

{
  name: "Burger",
  ingredients: [
    "bread",
    "cheese",
    "tomato",
    "beef"
  ]
}

अतिरिक्त "आइटम" कोई अतिरिक्त जानकारी नहीं जोड़ता है और न ही यह किसी भी तरह से डेटा तक पहुंचने में मदद करता है।

इसके बाद, आपको एक टेक्स्ट इंडेक्स बनाना होगा . दस्तावेज़ बताते हैं कि

तो हम बस एक

. करते हैं
db.collection.ensureIndex({"ingredients":"text"})

अब हम एक $text कर सकते हैं खोज :

db.collection.find(
  { $text: { $search: "bread beef" } },
  { score: { $meta: "textScore" } }
).sort( { score: { $meta: "textScore" } } )

जो आपको सबसे प्रासंगिक दस्तावेज देना चाहिए।

हालांकि, आप सीधे मिलान के लिए एक गैर-पाठ्य खोज भी कर सकते हैं:

db.collection.find({ingredients:"beef"})

या कई सामग्रियों के लिए

db.collections.find({ ingredients: { $all: ["beef","bread"] } })

तो उपयोगकर्ता इनपुट द्वारा खोज के लिए, आप पाठ खोज का उपयोग कर सकते हैं और चयनित सामग्री द्वारा खोज के लिए, आप गैर-पाठ खोज का उपयोग कर सकते हैं।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. मोंगोडीबी $indexOfArray

  2. उल्का MongoDB डेटाबेस कहाँ है?

  3. एम्बेडेड दस्तावेज़ों/सरणी में फ़ील्ड के औसत की गणना करें

  4. जावा MongoDb ड्राइवर का उपयोग करके Bson सुंदर प्रिंट

  5. पिछले संस्करणों की तुलना में 2.6 MongoDB शेल में इन्सर्ट धीमा क्यों है?