MongoDB शेल में while लूप और hasNext()/next() का उपयोग करके कर्सर इटरेशन गिनें।
डेमो डेटा
> db.demo724.insertOne({ details: { id:101, otherDetails:[ {Name:"Chris"} ] } });
> db.demo724.insertOne({ });
> db.demo724.insertOne({ details: { id:1001 } });
काउंट स्क्रिप्ट
> var c = db.demo724.find();
> var detailsCount = 0;
> while (c.hasNext()) {
var current = c.next();
if (typeof current["details"] != "undefined") {
detailsCount++;
}
}
> print("number of details: " + detailsCount);
आउटपुट
number of details: 2
बेहतर विकल्प: एग्रीगेशन में $count या $sum का उपयोग करें:
db.demo724.aggregate([
{ $match: { details: { $exists: true } } },
{ $count: "total" }
])