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

MongoDb प्रति कॉलम मौजूद है

मेरे पास $facet . का उपयोग करके एक एकत्रीकरण है; यह प्रत्येक दस्तावेज़ पास के लिए समानांतर में प्रश्न करने की अनुमति देता है। इसलिए, हम क्वेरी करते हैं और Cost . की गणना करते हैं और Status एक ही प्रश्न के दो पहलुओं के रूप में।

db.test.aggregate( [
  {
      $match: { fld1: "Data" }
  },
  { 
      $facet: {
          cost: [
              { $match: { cost: { $exists: true } } },
              { $count: "count" }
          ],
          status: [
              { $match: { status: { $exists: true } } },
              { $count: "count" }
          ],
      }
  },
  { 
      $project: { 
          costCount: { $arrayElemAt: [ "$cost.count" , 0 ] },
          statusCount: { $arrayElemAt: [ "$status.count" , 0 ] }
      } 
  }
] )

मुझे { "costCount" : 4, "statusCount" : 3 } का परिणाम मिलता है , निम्नलिखित दस्तावेज़ों का उपयोग करते हुए:

{ _id: 1, fld1: "Data", cost: 12, status: "Y" },
{ _id: 2, fld1: "Data", status: "N" },
{ _id: 3, fld1: "Data" },
{ _id: 4, fld1: "Data", cost: 90 },
{ _id: 5, fld1: "Data", cost: 44 },
{ _id: 6, fld1: "Data", cost: 235, status: "N" },
{ _id: 9, fld1: "Stuff", cost: 0, status: "Y" }


ध्यान दें :यहां पहलुओं का उपयोग करते हुए एक समान क्वेरी है:MongoDB दो क्षेत्रों पर कस्टम छँटाई




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. मैं सिर्फ ObjectId के pymongo का उपयोग करने की सूची कैसे प्राप्त करूं?

  2. SQL COUNT GROUP BY के बराबर MongoDB

  3. MongoError:उपयोगकर्ता को कार्रवाई करने की अनुमति नहीं है

  4. मैं हॉटफिक्स को नियंत्रित करने पर मोंगो त्रुटि

  5. आप किसी दस्तावेज़ की सरणी में ऑब्जेक्ट्स को कैसे अपडेट करते हैं (नेस्टेड अपडेटिंग)