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

MongoDB db.collection.count ()

Trong MongoDB, db.collection.count() phương thức trả về số lượng tài liệu phù hợp với find() truy vấn 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.

Lưu ý rằng nó không thực sự thực hiện find() hoạt động. Nó chỉ đơn giản là đếm và trả về số lượng kết quả phù hợp với một truy vấn.

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

Kết quả:

7

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

db.pets.find().count()

Kết quả:

7

Tài liệu MongoDB thực sự khuyên bạn không nên sử dụng db.collection.count() mà không có một vị từ truy vấn. Điều này là do phương pháp trả về 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.

Ví dụ:

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

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.count({
    "weight": { $gt: 10 }
})

Kết quả:

3

Giới hạn số lượng

Bạn có thể sử dụng limit để chỉ định số lượng tài liệu tối đa để đếm.

Ví dụ:

db.pets.count( {}, { limit: 5 } )

Kết quả:

5

Trước đây, chúng tôi đã thấy rằng thực sự có 7 tài liệu trong bộ sưu tập này, nhưng trong ví dụ này, chúng tôi đã giới hạn nó ở mức tối đa là 5.

Nếu giới hạn cao hơn số lượng thực, thì kết quả sẽ không bị ảnh hưởng bởi limit đối số.

Ví dụ:

db.pets.count( {}, { limit: 10 } )

Kết quả:

7

Bỏ qua tài liệu

Bạn có thể đếm bằng cách sử dụng skip tham số để bỏ qua một số tài liệu trước khi đếm.

Ví dụ:

db.pets.count( {}, { skip: 5 } )

Kết quả:

2

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.

Thông tin thêm

db.collection.count() phương thức là một trình bao bọc cho count lệnh.

db.collection.count() phương thức chấp nhận các tham số khác, chẳng hạn như hint , maxTimeMS , readConcerncollation .

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. Kết nối laravel jenssegers với cụm tập bản đồ mongodb

  2. Mối quan hệ Mongo DB giữa các đối tượng

  3. Sử dụng bản sao lưu để khắc phục các tình huống lỗi thường gặp cho MongoDB

  4. Cách quản lý người dùng và xác thực trong MongoDB

  5. Mongoose, CastError:Cast to Array không thành công cho giá trị khi cố gắng lưu một mô hình có chứa một mô hình