MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

MongoDB cursor.count ()

Trong MongoDB, cursor.count() phương thức đếm số lượng tài liệu được tham chiếu bởi con trỏ ..

Lưu ý rằng nó không thực sự thực hiện truy vấn. Nó chỉ đơn giản là đếm và trả về số lượng kết quả sẽ được trả về bởi truy vấn.

cursor.count() phương thức là một trình bao bọc cho 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.find().count()

Kết quả:

7

Điều này tương đương với việc làm như sau:

db.pets.count()

Kết quả:

7

Tài liệu MongoDB thực sự khuyên không nên sử dụng cursor.count() khi find() phương thức được gọi mà không có vị từ truy vấn. Điều này là do trong những trường hợp như vậy, kết quả dựa trên siêu dữ liệu của bộ sưu tập, điều này có thể dẫn đến số lượng gần đúng.

Đếm kết quả của một truy vấn

Bạn có thể đếm kết quả của một truy vấn bằng cách chuyển các tiêu chí truy vấn đến find() phương pháp.

Ví dụ:

db.pets.find({"type": "Dog"}).count()

Kết quả:

4

Trong ví dụ này, chúng tôi phát hiện ra rằng có bốn con chó trong bộ sưu tập.

Hãy kiểm tra số lượng của một truy vấn khác. Lần này, chúng ta sẽ tìm xem có bao nhiêu vật nuôi có trọng lượng lớn hơn một số lượng nhất định.

db.pets.find({"weight": { $gt: 10 }}).count()

Kết quả:

3

Ngừng sử dụng

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

applySkipLimit Tham số

cursor.count() phương thức chấp nhận một tham số tùy chọn:applySkipLimit tham số.

Tham số này chỉ định xem có nên xem xét các tác động của cursor.skip() hay không và cursor.limit() phương pháp đếm.

Theo mặc định, nó bỏ qua bất kỳ hiệu ứng nào của hai phương pháp đó. Để bao gồm các hiệu ứng, hãy sử dụng appySkipLimit: true .

Thông tin thêm

Xem tài liệu MongoDB để biết thêm thông tin.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Cách sắp xếp hoạt động trong phần mở rộng mongodb PECL mới?

  2. Cách cập nhật tài liệu hiện có trong MongoDB

  3. Làm cách nào để cài đặt phiên bản mongodb trước đó với homebrew?

  4. Mongo chỉ mục duy nhất không phân biệt chữ hoa chữ thường

  5. Truy vấn MongoDB GridFS?