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

मोंगोडब में एकल क्वेरी के साथ कई मायने रखता है

आप नीचे $facet आज़मा सकते हैं एकत्रीकरण

$count एकत्रीकरण आपको हमेशा केवल एक मिलान के लिए गणना देगा ($match ) स्थिति। इसलिए आपको अपनी प्रत्येक गणना को आगे कई अनुभागों में विभाजित करने की आवश्यकता है और यही $facet है इनपुट दस्तावेज़ों के एक ही सेट पर एक ही चरण में कई एकत्रीकरण पाइपलाइनों को प्रोसेस द्वारा प्रदान करता है।

db.collection.aggregate([
  { "$facet": {
    "Total": [
      { "$match" : { "ReleaseDate": { "$exists": true }}},
      { "$count": "Total" },
    ],
    "Released": [
      { "$match" : {"ReleaseDate": { "$exists": true, "$nin": [""] }}},
      { "$count": "Released" }
    ],
    "Unreleased": [
      { "$match" : {"ReleaseDate": { "$exists": true, "$in": [""] }}},
      { "$count": "Unreleased" }
    ]
  }},
  { "$project": {
    "Total": { "$arrayElemAt": ["$Total.Total", 0] },
    "Released": { "$arrayElemAt": ["$Released.Released", 0] },
    "Unreleased": { "$arrayElemAt": ["$Unreleased.Unreleased", 0] }
  }}
])

आउटपुट

[{
    "Total": 3,
    "Released": 2,
    "Unreleased": 1
}]


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB एकत्रीकरण ढांचे के साथ एक सरणी को खोलने के बाद सरणी अनुक्रमणिका कैसे प्रोजेक्ट करें

  2. शर्त के साथ MongoDB अद्यतन

  3. मोंगोडब में डुप्लिकेट यूआरएल खोजें

  4. स्पष्ट होने के लिए कृपया 'MongoMappingContext#setAutoIndexCreation(boolean)' का उपयोग करें या 'MongoConfigurationSupport#autoIndexCreation()' को ओवरराइड करें

  5. कैसेंड्रा बनाम मोंगोडीबी