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

मोंगो क्वेरी एक सरणी के भीतर एक नेस्टेड फ़ील्ड।

आप $elemMatch . का उपयोग करना चाहेंगे इसके लिए।

{"genres": { "$elemMatch" :  {"name": "Shooter"} } }
// or
{"genres": { "$elemMatch" :  {"name": { "$in": ["Shooter"] } } } }

https://docs.mongodb.com/manual/reference/operator/ query/elemMatch/

आप मोंगोडब डॉट नोटेशन का भी उपयोग कर सकते हैं और यह आपके जैसे ही काम करेगा:

{"genres.name": "Shooter"}
// or
{"genres.name": { "$in": ["Shooter"]}}

Mongodb जानता है कि genres . के मामले में इसकी व्याख्या कैसे करें एक सरणी है। बस ध्यान रखें कि डॉट नोटेशन क्वेरी थोड़ी अस्पष्ट है, क्योंकि यह name से भी मेल खाएगी। genres . के मामले में संपत्ति संपत्ति एक सरणी नहीं है। उदाहरण के लिए, यह दस्तावेज़ मेल खाएगा:

{"genres": { "name": "Shooter" } }

सभी मामलों में आप name . को इंडेक्स कर सकते हैं genres . में संपत्ति सरणी और अनुक्रमणिका का उपयोग लुकअप के लिए किया जाएगा।

db.collection.createIndex({'genres.name': 1})

https://docs.mongodb.com/manual/reference/ शब्दकोष/#टर्म-डॉट-नोटेशन

https://docs.mongodb.com/manual/reference/operator/ क्वेरी/इन/




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. मोंगोडब ऑब्जेक्टआईडी दस्तावेजों के बीच अद्वितीय है?

  2. सी # 2.1 ड्राइवर से मोंगोडीबी डेटाबेस कनेक्शन को ठीक से बंद करना?

  3. MERN स्टैक जैसे वेब और एपीआई समाधान को प्रमाणित और अधिकृत करने का सबसे अच्छा तरीका क्या है?

  4. मोंगो डोकर छवि बनाई जाने के बाद स्क्रिप्ट नहीं चल रहा

  5. मोंगोडब में खस्ता सरणी सहेजा जा रहा है