MongoDB में count
एग्रीगेशन कमांड किसी संग्रह या दृश्य में दस्तावेज़ों की संख्या की गणना करता है।
यह एक दस्तावेज़ देता है जिसमें गिनती के साथ-साथ कमांड स्थिति भी होती है।
उदाहरण
मान लीजिए हमारे पास pets
. नामक संग्रह है निम्नलिखित दस्तावेजों के साथ:
{ "_id" : 1, "name" : "Wag", "type" : "Dog", "weight" : 20 } { "_id" : 2, "name" : "Bark", "type" : "Dog", "weight" : 10 } { "_id" : 3, "name" : "Meow", "type" : "Cat", "weight" : 7 } { "_id" : 4, "name" : "Scratch", "type" : "Cat", "weight" : 8 } { "_id" : 5, "name" : "Bruce", "type" : "Bat", "weight" : 3 } { "_id" : 6, "name" : "Fetch", "type" : "Dog", "weight" : 17 } { "_id" : 7, "name" : "Jake", "type" : "Dog", "weight" : 30 }
संग्रह में दस्तावेज़ों की संख्या वापस करने के लिए हम निम्नलिखित क्वेरी का उपयोग कर सकते हैं:
db.runCommand( { count: "pets" } )
परिणाम:
{ "n" : 7, "ok" : 1 }
MongoDB दस्तावेज़ वास्तव में count
. का उपयोग करने के विरुद्ध अनुशंसा करता है एक प्रश्न के बिना कमांड और उसके रैपर तरीके विधेय। ऐसा इसलिए है, क्योंकि जब बिना किसी क्वेरी विधेय के चलाया जाता है, तो यह संग्रह के मेटाडेटा के आधार पर परिणाम देता है, जिसके परिणामस्वरूप अनुमानित गणना हो सकती है।
किसी प्रश्न के परिणाम की गणना करें
आप निम्न फ़ॉर्म का उपयोग करके किसी क्वेरी के परिणाम की गणना कर सकते हैं।
उदाहरण:
db.runCommand( {
count: "pets",
query: { type: "Dog" }
} )
परिणाम:
{ "n" : 4, "ok" : 1 }
इस उदाहरण में, हम देख सकते हैं कि संग्रह में चार कुत्ते हैं।
आइए एक और क्वेरी की गिनती देखें। इस बार हम पता लगाएंगे कि कितने पालतू जानवरों का वजन एक निश्चित मात्रा से अधिक होता है।
db.runCommand( { count:'pets',
query: { weight: { $gt: 10 } }
} )
परिणाम:
{ "n" : 3, "ok" : 1 }
गिनती सीमित करें
आप limit
का उपयोग कर सकते हैं गिनने के लिए दस्तावेज़ों की अधिकतम संख्या निर्दिष्ट करने के लिए पैरामीटर।
उदाहरण:
db.runCommand( {
count: "pets",
query: { type: "Dog" },
limit: 3
} )
परिणाम:
{ "n" : 3, "ok" : 1 }
हमने पहले देखा था कि वास्तव में 4 कुत्ते हैं, लेकिन इस उदाहरण में हमने इसे अधिकतम 3 तक सीमित कर दिया है।
यदि सीमा वास्तविक गणना से अधिक है, तो परिणाम limit
. से प्रभावित नहीं होगा तर्क।
उदाहरण:
db.runCommand( {
count: "pets",
query: { type: "Dog" },
limit: 10
} )
परिणाम:
{ "n" : 4, "ok" : 1 }
दस्तावेज़ छोड़ना
आप skip
. का उपयोग कर सकते हैं गिनती से पहले कई दस्तावेज़ों को छोड़ने के लिए पैरामीटर।
उदाहरण:
db.runCommand( {
count: "pets",
query: { type: "Dog" },
skip: 2
} )
परिणाम:
{ "n" : 2, "ok" : 1 }
बहिष्करण
ध्यान दें कि MongoDB दस्तावेज़ निम्नलिखित बताता है:
<ब्लॉकक्वॉट क्लास ="डब्ल्यूपी-ब्लॉक-कोट">
4.0 सुविधाओं के साथ संगत MongoDB ड्राइवर अपने संबंधित कर्सर और संग्रह को हटा देते हैं count()
एपीआई (जो count
चलाता है कमांड) नए एपीआई के पक्ष में जो countDocuments()
. से मेल खाती है और estimatedDocumentCount()
. किसी दिए गए ड्राइवर के लिए विशिष्ट API नामों के लिए, ड्राइवर API दस्तावेज़ देखें।
अधिक जानकारी
count
कमांड में अन्य फ़ील्ड शामिल हैं, जैसे hint
, comment
, readConcern
, और collation
।
अधिक जानकारी के लिए MongoDB दस्तावेज़ देखें।