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

MongoDB संग्रह में सूची में प्रत्येक निर्देश के लिए खोज करता है

हालांकि यह उल्लेख किया गया है कि वास्तव में $and ऑपरेटर की आवश्यकता नहीं है, किसी भी रूप में यह वह क्वेरी नहीं है जो आप चाहते हैं। निम्नलिखित पर विचार करें:

db.user.find_one({ 'names.firstName': 'alice','names.lastName': 'jones' })

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

मिलान करने के लिए जहां एक सरणी तत्व में दिए गए मानदंड "दोनों" हैं, आपको $elemMatch ऑपरेटर। यह क्वेरी शर्त को सरणी के "तत्वों" पर लागू करता है।

db.user.find_one({ 
    'names': { '$elemMatch': { 'firstName': 'alice','lastName': 'smith' }
})

और निश्चित रूप से यदि आपने "एलिस" और "जोन्स" की कोशिश की तो वह मेल नहीं खाएगा क्योंकि वास्तव में उस ऑपरेशन में कोई तत्व शामिल नहीं है।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. नेवला के साथ पूर्णांक मान मान्य करें

  2. मोंगोडब सी # ड्राइवर के साथ पुनरावृत्ति के लिए IAsyncCursor का उपयोग कैसे किया जाता है?

  3. MongoDB $setIntersection

  4. कैसे डुप्लिकेट कुंजी त्रुटियों को सुरक्षित रूप से insert_many का उपयोग करके अनदेखा करें

  5. Casbah/Scala . का उपयोग करके MongoDB पर कस्टम फ़ंक्शन निष्पादित करना