Sử dụng vòng lặp while với cursor
MongoDB shell không có phương thức đếm trực tiếp trên cursor, nhưng có thể dùng logic tùy chỉnh với while và hasNext().
Dữ liệu mẫu
> db.demo724.insertMany([
{ details: { id: 101, otherDetails: [{ Name: "Chris" }] } },
{ },
{ details: { id: 1001 } }
]);
Script đếm
var cursor = db.demo724.find();
var detailsCount = 0;
while (cursor.hasNext()) {
var current = cursor.next();
if (typeof current["details"] !== "undefined") {
detailsCount++;
}
}
print("number of details: " + detailsCount);
Kết quả
number of details: 2
Lưu ý: Cách này chỉ phù hợp trong MongoDB shell. Với driver ngôn ngữ lập trình, hãy dùng cursor.count() hoặc collection.countDocuments().