Đếm trong tập hợp MongoDB

Bản tóm tắt. trong hướng dẫn này, bạn sẽ học cách sử dụng MongoDB $count để trả về số lượng tài liệu trong một nhóm

Giới thiệu về MongoDB $count

MongoDB $count trả về số lượng tài liệu trong một nhóm. Đây là cú pháp của $count

{ $count: {} }

Code language: PHP (php)

Lưu ý rằng $count không chấp nhận bất kỳ tham số nào

$count có chức năng tương đương với việc sử dụng

{ $sum: 1 }

Code language: PHP (php)
2 sau đây trong giai đoạn

{ $sum: 1 }

Code language: PHP (php)
3

{ $sum: 1 }

Code language: PHP (php)

MongoDB $count ví dụ

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

{ $sum: 1 }

Code language: PHP (php)
4 sau đây để chứng minh $count

db.sales.insertMany([ { "_id" : 1, "item" : "Americanos", "price" : 5, "size": "Short", "quantity" : 22, "date" : ISODate("2022-01-15T08:00:00Z") }, { "_id" : 2, "item" : "Cappuccino", "price" : 6, "size": "Short","quantity" : 12, "date" : ISODate("2022-01-16T09:00:00Z") }, { "_id" : 3, "item" : "Lattes", "price" : 15, "size": "Grande","quantity" : 25, "date" : ISODate("2022-01-16T09:05:00Z") }, { "_id" : 4, "item" : "Mochas", "price" : 25,"size": "Tall", "quantity" : 11, "date" : ISODate("2022-02-17T08:00:00Z") }, { "_id" : 5, "item" : "Americanos", "price" : 10, "size": "Grande","quantity" : 12, "date" : ISODate("2022-02-18T21:06:00Z") }, { "_id" : 6, "item" : "Cappuccino", "price" : 7, "size": "Tall","quantity" : 20, "date" : ISODate("2022-02-20T10:07:00Z") }, { "_id" : 7, "item" : "Lattes", "price" : 25,"size": "Tall", "quantity" : 30, "date" : ISODate("2022-02-21T10:08:00Z") }, { "_id" : 8, "item" : "Americanos", "price" : 10, "size": "Grande","quantity" : 21, "date" : ISODate("2022-02-22T14:09:00Z") }, { "_id" : 9, "item" : "Cappuccino", "price" : 10, "size": "Grande","quantity" : 17, "date" : ISODate("2022-02-23T14:09:00Z") }, { "_id" : 10, "item" : "Americanos", "price" : 8, "size": "Tall","quantity" : 15, "date" : ISODate("2022-02-25T14:09:00Z")} ]);

Code language: JavaScript (javascript)

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 $count để 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

Khi bạn đang thực hiện tổng hợp trong MongoDB, sẽ có rất nhiều điều xảy ra ở hậu trường. Các tài liệu đi vào một quy trình tổng hợp bao gồm nhiều giai đoạn; . Trong một số trường hợp, bạn có thể cần đếm số tài liệu đã được chuyển đến một giai đoạn nhất định của quy trình, rồi chuyển số đó sang giai đoạn tiếp theo. Chúng tôi có thể hoàn thành nhiệm vụ này bằng cách sử dụng $count. Trong bài viết này, chúng ta sẽ xem xét kỹ hơn giai đoạn $count và tìm hiểu cách sử dụng $count để tổng hợp trong MongoDB

điều kiện tiên quyết

Trước khi đọc thêm, hãy chắc chắn rằng các điều kiện tiên quyết sau đây được đưa ra

  • MongoDB phải được cài đặt đúng cách trong hệ thống của bạn với máy chủ đang chạy ngầm
  • Sẽ rất hữu ích nếu bạn có hiểu biết cơ bản về MongoDB để làm theo các ví dụ trong bài viết này

MongoDB $count Tổng hợp

Toán tử MongoDB $count cho phép chúng tôi chuyển tài liệu sang giai đoạn tiếp theo của đường dẫn tổng hợp có chứa số lượng tài liệu

Dưới đây là cú pháp cơ bản của toán tử $count

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
  • Theo cú pháp này, 'the_string' đại diện cho nhãn hoặc tên của trường đầu ra. Nó không được trống và không thể bắt đầu bằng ký hiệu đô la '$' hoặc dấu chấm '. ' tính cách

Ví dụ tổng hợp $count

Trong phần này, chúng ta sẽ xem xét một số ví dụ về cách thực hiện phép cộng $count trong MongoDB

Chúng tôi sẽ bắt đầu bằng cách tạo một bộ sưu tập MongoDB mẫu mà chúng tôi có thể sử dụng cho mục đích demo

Chúng tôi sẽ tạo một bộ sưu tập sản phẩm, sẽ chứa một vài tài liệu

db. sản phẩm. insertMany([
{"product_name". "Mặt nạ N95", "product_no". "pr005", "product_description". "khẩu trang", sản phẩm_qty. 500},
{"product_name". "Mặt nạ N306", "product_no". "pr006", "product_description". "mặt nạ phòng độc", product_qty. 340},,
{"product_name". "Găng tay phẫu thuật", "product_no". "pr007", "product_description". "găng tay", product_qty. 340},,
{"product_name". "Kính Coolo", "product_no". "pr008", "product_description". "Kính trượt tuyết", sản phẩm_qty. 500},,
{"product_name". "Găng tay N240", "product_no". "pr010", "product_description". "Găng tay Nonlatex", sản phẩm_qty. 700},,
{"product_name". "Rào cản B3T", "product_no". "pr011", "product_description". "Rào cản hơi thở", sản phẩm_qty. 500}
]);

Bộ sưu tập sản phẩm của chúng tôi bây giờ trông giống như thế này

{ "_id". ObjectId("5e4ced7ca56f56c309df073f"), "product_name". "Mặt nạ N95", "product_no". "pr005", "product_description". "khẩu trang", "product_qty". 500 }
{ "_id". ObjectId("5e4ced7ca56f56c309df0740"), "product_name". "Mặt nạ N306", "product_no". "pr006", "product_description". "mặt nạ phòng độc", "product_qty". 340 }
{ "_id". ObjectId("5e4ced7ca56f56c309df0741"), "product_name". "Găng tay phẫu thuật", "product_no". "pr007", "product_description". "găng tay", "product_qty". 340 }
{ "_id". ObjectId("5e4ced7ca56f56c309df0742"), "product_name". "Kính Coolo", "product_no". "pr008", "product_description". "Kính trượt tuyết", "product_qty". 500 }
{ "_id". ObjectId("5e4ced7ca56f56c309df0743"), "product_name". "Găng tay N240", "product_no". "pr010", "product_description". "Găng tay Nonlatex", "product_qty". 700 }
{ "_id". ObjectId("5e4ced7ca56f56c309df0744"), "product_name". "Rào cản B3T", "product_no". "pr011", "product_description". "Rào chắn hơi thở", "product_qty". 500 }

Bây giờ, hãy thực hiện tổng hợp của chúng tôi. Cú pháp lệnh được hiển thị bên dưới

db. sản phẩm. tổng hợp(
[
{
$match. {
"product_qty". {
$lt. 700
}
}
},
{
$count: "product_on_the_budget"
}
]
);

Hãy xem xét kỹ hơn những gì đang xảy ra trong lệnh này

  • Trước tiên, chúng tôi sử dụng tổng hợp $match để lọc các tài liệu có giá trị của 'product_qty' nhỏ hơn 700. Kết quả sau đó sẽ được chuyển sang giai đoạn tiếp theo
  • Giai đoạn $count đếm các tài liệu phù hợp với tiêu chí từ giai đoạn trước. Nó trả về giá trị đó, gán nó cho một trường có tên là 'product_on_the_budget'

{ "product_on_the_budget". 5 }

Sự kết luận

Nếu bạn dự định thực hiện bất kỳ loại tổng hợp nào trong MongoDB, điều quan trọng là phải hiểu các giai đoạn khác nhau của quy trình tổng hợp hoạt động như thế nào. Trong bài viết này, chúng tôi tập trung vào giai đoạn $count. Chúng tôi đã giải thích cách thực hiện tổng hợp $count trong MongoDB và cung cấp một ví dụ để minh họa quy trình. Với các hướng dẫn và ví dụ này, bạn sẽ có thể giải quyết vấn đề tổng hợp trong các thao tác cơ sở dữ liệu MongoDB của riêng mình

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.

$size trong MongoDB là gì?

Toán tử $size khớp bất kỳ mảng nào với số phần tử được chỉ định bởi đối số . Ví dụ. db. thu thập.

Tập hợp trong MongoDB là gì?

Tập hợp trong MongoDB là gì? . Các giai đoạn tạo nên cái được gọi là đường ống dẫn. Các giai đoạn trong quy trình có thể lọc, sắp xếp, nhóm, định hình lại và sửa đổi các tài liệu đi qua quy trình. a way of processing a large number of documents in a collection by means of passing them through different stages. The stages make up what is known as a pipeline. The stages in a pipeline can filter, sort, group, reshape and modify documents that pass through the pipeline.

Dự án $ trong MongoDB là gì?

Định nghĩa. dự án $. Chuyển các tài liệu có các trường được yêu cầu sang giai đoạn tiếp theo trong quy trình . Các trường được chỉ định có thể là các trường hiện có từ các tài liệu đầu vào hoặc các trường mới được tính toán.