Tổng số MongoDB

Trong MongoDB, toán tử tổng hợp

db.pets.aggregate([
    {
      $match: { type: "Dog" }
    },
    {
      $count: "DogCount"
    }
])
8 chuyển tài liệu sang giai đoạn tiếp theo trong quy trình tổng hợp có chứa số lượng tài liệu được nhập vào giai đoạn hiện tại

Ví dụ

Giả sử chúng ta có một bộ sưu tập tên là

db.pets.aggregate([
    {
      $match: { type: "Dog" }
    },
    {
      $count: "DogCount"
    }
])
9 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 ta có thể sử dụng thao tác tổng hợp sau để đếm số lượng chó trong bộ sưu tập

db.pets.aggregate([
    {
      $match: { type: "Dog" }
    },
    {
      $count: "DogCount"
    }
])

Kết quả

{ "DogCount" : 4 }

Cách thức hoạt động của đường ống tổng hợp là nó bao gồm các giai đoạn. Mỗi giai đoạn đường ống cung cấp đầu vào cho giai đoạn tiếp theo

Do đó, trong ví dụ trên, giai đoạn đầu tiên đã lọc bộ sưu tập xuống chỉ những tài liệu có

{ "DogCount" : 4 }
0 của
db.pets.aggregate([
    {
      $match: { type: "Dog" }
    },
    {
      $count: "DogCount"
    }
])
0. Giai đoạn thứ hai lấy các tài liệu đó, đếm chúng và chuyển kết quả sang giai đoạn tiếp theo. Vì đây là giai đoạn cuối cùng trong quy trình nên chúng tôi đã thấy đầu ra

Đếm tài liệu được nhóm

Đây là một ví dụ kết hợp toán tử tổng hợp $group với $count để trả về số lượng của từng loại vật nuôi dưới một trọng lượng nhất định

db.pets.aggregate([
    {
      $match: { weight: { $lt: 30 } }
    },
    {
      $group: { _id: "$type", count: { $sum: 1 } }
    }
])

Kết quả

{ "_id" : "Cat", "count" : 2 }
{ "_id" : "Bat", "count" : 1 }
{ "_id" : "Dog", "count" : 3 }

Thêm giai đoạn quy trình

Trong ví dụ này, chúng tôi thêm một giai đoạn quy trình để sắp xếp kết quả. Đặc biệt, chúng tôi sử dụng toán tử

db.pets.aggregate([
    {
      $match: { type: "Dog" }
    },
    {
      $count: "DogCount"
    }
])
1 để làm điều này

db.pets.aggregate([
    {
      $match: { weight: { $lt: 30 } }
    },
    {
      $group: { _id: "$type", count: { $sum: 1 } }
    },
     { 
      $sort : { count : -1, _id: 1 } 
    }
])

Kết quả

________số 8

Trong trường hợp này, chúng tôi đã sắp xếp theo số lượng theo thứ tự giảm dần (_______12 chỉ định thứ tự giảm dần), sau đó theo ____13 theo thứ tự tăng dần (_______14 chỉ định thứ tự tăng dần)

Tóm lược. trong hướng dẫn này, bạn sẽ học cách sử dụng MongoDB

db.pets.aggregate([
    {
      $match: { type: "Dog" }
    },
    {
      $count: "DogCount"
    }
])
8 để trả về số lượng tài liệu trong một nhóm

Giới thiệu về MongoDB $count

MongoDB

db.pets.aggregate([
    {
      $match: { type: "Dog" }
    },
    {
      $count: "DogCount"
    }
])
8 trả về số lượng tài liệu trong một nhóm. Đây là cú pháp của
db.pets.aggregate([
    {
      $match: { type: "Dog" }
    },
    {
      $count: "DogCount"
    }
])
8

db.pets.aggregate([
    {
      $match: { type: "Dog" }
    },
    {
      $count: "DogCount"
    }
])
2

Lưu ý rằng

db.pets.aggregate([
    {
      $match: { type: "Dog" }
    },
    {
      $count: "DogCount"
    }
])
8 không chấp nhận bất kỳ tham số nào

db.pets.aggregate([
    {
      $match: { type: "Dog" }
    },
    {
      $count: "DogCount"
    }
])
8 có chức năng tương đương với việc sử dụng
db.pets.aggregate([
    {
      $match: { type: "Dog" }
    },
    {
      $count: "DogCount"
    }
])
32 sau trong giai đoạn
db.pets.aggregate([
    {
      $match: { type: "Dog" }
    },
    {
      $count: "DogCount"
    }
])
33

db.pets.aggregate([
    {
      $match: { type: "Dog" }
    },
    {
      $count: "DogCount"
    }
])
3

MongoDB $count ví dụ

Chúng tôi sẽ sử dụng bộ sưu tập

db.pets.aggregate([
    {
      $match: { type: "Dog" }
    },
    {
      $count: "DogCount"
    }
])
34 sau đây để chứng minh
db.pets.aggregate([
    {
      $match: { type: "Dog" }
    },
    {
      $count: "DogCount"
    }
])
8

db.pets.aggregate([
    {
      $match: { type: "Dog" }
    },
    {
      $count: "DogCount"
    }
])
7

1) Sử dụng MongoDB $count để đếm số lượng tài liệu cho mỗi nhóm ví dụ

Ví dụ sau sử dụng

db.pets.aggregate([
    {
      $match: { type: "Dog" }
    },
    {
      $count: "DogCount"
    }
])
8 để tính số lượng tài liệu trên mỗi mục và trả về mục có số lượng lớn hơn hai

Làm cách nào để có được số lượng kết quả tổng hợp trong MongoDB?

The giai đoạn $count trả về số lượng tài liệu còn lại trong quy trình tổng hợp và gán giá trị cho trường có tên là pass_scores.

Chúng ta có thể sử dụng tính năng đếm với hàm tổng hợp trong MongoDB không?

MongoDB $count Aggregation . Có một số điều quan trọng cần lưu ý về cú pháp này. Đầu tiên, chúng tôi gọi toán tử $count và sau đó chỉ định chuỗi. The MongoDB $count operator allows us to pass a document to the next phase of the aggregation pipeline that contains a count of the documents. There a couple of important things to note about this syntax: First, we invoke the $count operator and then specify the string.

Làm cách nào để có được tổng số trong MongoDB?

count() được sử dụng để trả về số lượng tài liệu khớp với truy vấn find(). db. thu thập. Phương thức đếm () không thực hiện thao tác tìm () mà thay vào đó đếm và trả về số lượng kết quả khớp với truy vấn.

Làm cách nào để sử dụng số lượng trong nhóm trong MongoDB?

Chúng ta có thể sử dụng đoạn mã sau để nhóm theo trường 'vị trí' và đếm số lần xuất hiện của từng vị trí. .
Vị trí 'Chuyển tiếp' xảy ra 1 lần
Vị trí 'Guard' xảy ra 3 lần
Vị trí 'Trung tâm' xuất hiện 1 lần