Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MongoDB

Cách đếm số lần lặp của con trỏ (cursor) trong MongoDB

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().