Trong MongoDB, db.collection.estimatedDocumentCount()
phương thức trả về tổng số tất cả các tài liệu trong một bộ sưu tập hoặc chế độ xem.
Bộ sưu tập collection
một phần là tên của bộ sưu tập hoặc chế độ xem để thực hiện thao tác đếm.
db.collection.estimatedDocumentCount()
phương thức bao bọc count
lệnh.
Ví dụ
Giả sử chúng ta có một bộ sưu tập có tên là pets
với các tài liệu sau:
{ "_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 }
Chúng tôi có thể sử dụng truy vấn sau để trả về số lượng tài liệu trong bộ sưu tập:
db.pets.estimatedDocumentCount()
Kết quả:
7
db.collection.estimatedDocumentCount()
phương pháp không sử dụng bộ lọc truy vấn. Thay vào đó, nó sử dụng siêu dữ liệu để trả về số lượng tài liệu cho toàn bộ bộ sưu tập.
Tuy nhiên, nó vẫn hoạt động khi được cung cấp với một tài liệu trống.
db.pets.estimatedDocumentCount({})
Kết quả:
7
maxTimeMS
Tham số
db.collection.estimatedDocumentCount()
phương thức chỉ chấp nhận một tham số (tùy chọn):maxTimeMS
tham số. Điều này cho phép bạn đặt lượng thời gian tối đa mà hoạt động đếm có thể chạy.
Ví dụ:
db.pets.estimatedDocumentCount({}, { maxTimeMS: 5000 })
Kết quả:
7
Ngừng sử dụng count()
trong Sự ủng hộ của estimatedDocumentCount()
Lưu ý rằng tài liệu MongoDB nêu rõ những điều sau:
Trình điều khiển MongoDB tương thích với các tính năng 4.0 không dùng con trỏ và bộ sưu tập tương ứng
count()
Các API ủng hộ các API mới chocountDocuments()
vàestimatedDocumentCount()
. Để biết các tên API cụ thể cho một trình điều khiển nhất định, hãy xem tài liệu về trình điều khiển.
Thông tin thêm
Trên một cụm phân đoạn, số lượng kết quả sẽ không lọc ra chính xác các tài liệu mồ côi.
Ngoài ra, sau khi tắt máy không sạch, số lượng có thể không chính xác.
Xem tài liệu MongoDB để biết thêm thông tin.