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

नेवले को सरणी से मेल खाने वाले डॉक्स मिलते हैं

जब तक आपको पता चलता है कि आप ObjectId पर मेल खा रहे हैं और वास्तव में संदर्भित संग्रह में कुछ भी नहीं है, आप $इन ऑपरेटर:

db.collection.find({ "members": { "$in": [ "some id 1", "some id 2" ] } })

बेशक वे आपके वास्तविक ObjectId मान कहां हैं।

लेकिन अगर आप वास्तव में उस दस्तावेज़ से मतलब रखते हैं जिसमें बिल्कुल वह सरणी है, तो आप बस सरणी में पास हो जाते हैं:

db.collection.find({ "members": [ "some id 1", "some id 2" ] })

और अगर इसमें दोनों तत्व होने चाहिए लेकिन अन्य हो सकते हैं तो वर्तमान में आपको एक $और अभिव्यक्ति:

db.collection.find({ "$and": [ 
    { "members": "some id 1" },
    { "members": "some id 2" } 
]})

लेकिन रिलीज 2.6 से आप का ठीक से उपयोग कर सकते हैं $सभी प्रभावी ढंग से ऐसा करने के लिए ऑपरेटर:

db.collection.find({ "members": { "$all": [ "some id 1", "some id 2" ] } })

दूसरा रूप केवल उन दो तत्वों से मेल खा रहा है, लेकिन किसी भी क्रम में। तो इसके दो तरीके हैं:

db.collection.find({ "$or": [
    { "members": [ "some id 1", "some id 2" ] },
    { "members": [ "some id 2", "some id 1" ] }
]})

यह एक तार्किक $or का उपयोग करता है यह कहने के लिए कि सरणी सटीक होनी चाहिए लेकिन किसी भी तरह से व्यवस्थित की जा सकती है। और दूसरा तरीका:

db.collection.find({ "$and": [ 
    { "members": "some id 1" },
    { "members": "some id 2" }
    { "members": { "$size": 2 } }
]})

तो यह $size का उपयोग करेगा यह सुनिश्चित करने के लिए कि जब सरणी में मेल खाने वाले दोनों तत्व होते हैं तो वह भी केवल दो होता है तत्व $or<का उपयोग करने से बेहतर सिंटैक्स कौन सा है? /कोड> , विशेष रूप से बड़े सरणियों के लिए।

और जैसा कि उल्लेख किया गया है, भविष्य के रिलीज में यह और भी साफ हो जाता है:

db.collection.find({ "$and": [ 
    { "members": { "$all": [ "some id 1", "some id 2" ] } },
    { "members": { "$size": 2 } }
]})

यह काफी हद तक हर व्याख्या को शामिल करता है




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. होमब्री और एक्सकोड 8.1.1 के साथ मोंगोडब इंस्टॉलेशन विफल रहा

  2. MongoDB में फ़ाइल आयात करते समय मौजूदा दस्तावेज़ों को कैसे बदलें

  3. मोंगोडब में हटाए गए स्थान को ऑटो कॉम्पैक्ट करें?

  4. पाइमोंगो कर्सर पुनरावृत्ति के लिए वैकल्पिक

  5. $elemMatch वसंत डेटा mongodb में बराबर है