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

Mongodb संग्रह के बजाय विशिष्ट अभिलेखों पर कुल क्वेरी

$match आपकी पाइपलाइन में आने वाले दस्तावेज़ों को फ़िल्टर करने के लिए ऑपरेटर।

ऑर्डर आईडी की सूची प्राप्त करें ($मिलान पाइपलाइन के साथ $in ) find()<का उपयोग करके /कोड> कर्सर का map() विधि:

var orderIds = db.delivery.find({"status": "DELIVERED"}).map(function(d){return d.order;});
db.orders.aggregate([
    { "$match": { "_id": { "$in": orderIds } } },
    { "$group": { "_id": "$customer", "orders": { "$sum": 1 } } }
])

MongoDB 3.2 के लिए, $lookup का उपयोग करें कोड> ऑपरेटर जो प्रसंस्करण के लिए "शामिल" संग्रह से दस्तावेज़ों में फ़िल्टर करने के लिए एक ही डेटाबेस में एक अनछुए संग्रह में बाएं बाहरी शामिल होता है।

निम्न उदाहरण दिखाता है कि आप आदेश पर एकत्रीकरण कार्रवाई कैसे चला सकते हैं आदेश . से दस्तावेजों में शामिल होने का संग्रह वितरण . के दस्तावेज़ों के साथ आदेश . क्षेत्र का उपयोग कर संग्रह वितरण . से संग्रह:

db.orders.aggregate([
    {
        "$lookup": {
            "from": "delivery",
            "localField": "_id",
            "foreignField": "order",
            "as": "delivery_orders"
        }
    },
    { "$match": { "delivery_orders.status": "DELIVERED" } },    
    { "$group": { "_id": "$customer", "orders": { "$sum": 1 } } }
])



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB - त्रुटि:सहेजने से पहले दस्तावेज़ में एक _id होना चाहिए

  2. MongoDb:.gz फ़ाइल से डंप डेटा कैसे आयात करें?

  3. नेवला में ObjectId को ठीक से कैसे डालें?

  4. Ubuntu 16.04 . पर MongoDB स्थापित करना

  5. मोंगोडब सी # ड्राइवर और आईएसओडेट

© कॉपीराइट http://hi.sqldat.com सर्वाधिकार सुरक्षित