Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MongoDB

MongoDB एग्रीगेशन में $match और $count का उपयोग करके फ़िल्टर्ड दस्तावेज़ गिनना

MongoDB एग्रीगेशन में $match + $count: फ़िल्टर्ड गिनती

$match दस्तावेज़ों को फ़िल्टर करता है, $count परिणामों की संख्या गिनता है और एकल फ़ील्ड के साथ दस्तावेज़ लौटाता है। यह countDocuments() का एग्रीगेशन समकक्ष है।

नमूना डेटा

> db.demo358.insertOne({"ClientId": 101, "ClientName": "Chris", "ClientAge": 34});
{ "acknowledged": true, "insertedId": ObjectId("5e5692c0f8647eb59e5620cb") }
> db.demo358.insertOne({"ClientId": 102, "ClientName": "David", "ClientAge": 32});
{ "acknowledged": true, "insertedId": ObjectId("5e5692caf8647eb59e5620cc") }
> db.demo358.insertOne({"ClientId": 103, "ClientName": "David", "ClientAge": 35});
{ "acknowledged": true, "insertedId": ObjectId("5e5692d2f8647eb59e5620cd") }
> db.demo358.insertOne({"ClientId": 104, "ClientName": "Bob", "ClientAge": 31});
{ "acknowledged": true, "insertedId": ObjectId("5e5692ddf8647eb59e5620ce") }
> db.demo358.insertOne({"ClientId": 105, "ClientName": "Chris", "ClientAge": 36});
{ "acknowledged": true, "insertedId": ObjectId("5e5692e7f8647eb59e5620cf") }

एग्रीगेशन: "David" नाम वाले दस्तावेज़ गिनना

> db.demo358.aggregate([
    {$match: {"ClientName": "David"}},
    {$count: "ClientName"}
]);

परिणाम

{ "ClientName": 2 }

दो दस्तावेज़ों में ClientName "David" है। $count आउटपुट फ़ील्ड नाम निर्दिष्ट करता है (यहां "ClientName")। पाइपलाइन में $match पहले होना चाहिए ताकि इंडेक्स का उपयोग हो सके।

  1. - MongoDB $match के साथ डेट कैसे मैच करें?

    डेट मैच करने के लिए aggregate() के साथ $match का उपयोग करें। नमूना डेटा बनाना (ISODate के साथ) db.demo491.insertOne({ShippingDate:new ISODate()}); // वर्तमान तारीख सभी दस्तावेज़ देखना db.demo491.find(); { ShippingDate : ISODate(2020-01-10T00:00:00Z) } { ShippingDate : ISODate(2020-02-21T00:00:00

  1. - MongoDB में केस-इनसेंसिटिव खोज

    केस-इनसेंसिटिव खोज के लिए, find() मेथड में regex का उपयोग करें। सिंटैक्स निम्न है: db.demo572.find({yourFieldName : { $regex:/^yourValue$/i}}); उपरोक्त सिंटैक्स को समझने के लिए, आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo572.insertOne({CountryName:US}); { acknowledged : true, insertedI

  1. - MongoDB एग्रीगेशन में मल्टीपल फ़ील्ड्स द्वारा काउंट करना

    एक ही पाइपलाइन में कई फ़ील्ड्स पर काउंट करने के लिए $facet का उपयोग करें। डेमो डेटा db.demo721.insertOne({ details1: { id:101 }, details2: { id:101 }, details3: { id:101 } }); db.demo721.insertOne({ details1: { id:101 }, details2: { id:102 }, details3: { id:102 } }); क्वेरी