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

Lệnh đếm MongoDB

Trong MongoDB, số lượng count Lệnh tổng hợp đếm số lượng tài liệu trong một bộ sưu tập hoặc một dạng xem.

Nó trả về một tài liệu có chứa số lượng cũng như trạng thái 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.runCommand( { count: "pets" } )

Kết quả:

{ "n" : 7, "ok" : 1 }

Tài liệu MongoDB thực sự khuyên bạn không nên sử dụng count lệnh và các phương thức trình bao bọc của nó mà không có vị từ truy vấn. Điều này là do, khi chạy mà không có vị từ truy vấn, nó 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 sử dụng biểu mẫu sau.

Ví dụ:

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

Kết quả:

{ "n" : 4, "ok" : 1 }

Trong ví dụ này, chúng ta có thể thấy 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.runCommand( { count:'pets',
    query: { weight: { $gt: 10 } }
} )

Kết quả:

{ "n" : 3, "ok" : 1 }

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.runCommand( { 
    count: "pets", 
    query: { type: "Dog" },
    limit: 3
} )

Kết quả:

{ "n" : 3, "ok" : 1 }

Trước đây, chúng tôi đã thấy rằng thực sự có 4 con chó, nhưng trong ví dụ này, chúng tôi đã giới hạn số lượng đó là tối đa là 3 con.

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.runCommand( { 
    count: "pets", 
    query: { type: "Dog" },
    limit: 10
} )

Kết quả:

{ "n" : 4, "ok" : 1 }

Bỏ qua tài liệu

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

Ví dụ:

db.runCommand( { 
    count: "pets", 
    query: { type: "Dog" },
    skip: 2
} )

Kết quả:

{ "n" : 2, "ok" : 1 }

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() API (chạy count lệnh) ủng hộ các API mới tương ứng với 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 API trình điều khiển.

Thông tin thêm

Số lượng count lệnh bao gồm các trường khác, chẳng hạn như hint , comment , 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. Làm cách nào để biết mongoDB đang lưu trữ dữ liệu ở đâu? (nó không có trong mặc định / data / db!)

  2. Giao dịch trong MongoDB

  3. Làm thế nào để sử dụng dữ liệu mùa xuân mongo @CompoundIndex với các tập hợp con?

  4. Khi nào sử dụng CouchDB trên MongoDB và ngược lại

  5. Mongodb phân trang dựa trên phạm vi