Hướng dẫn what is group aggregation in mongodb? - gộp nhóm trong mongodb là gì?
Tài liệu về nhà → Hướng dẫn sử dụng MongoDB → MongoDB Manual Show
4THE 4 Giai đoạn tách các tài liệu thành các nhóm theo "khóa nhóm". Đầu ra là một tài liệu cho mỗi khóa nhóm duy nhất.The 4 stage separates documents into groups according to a "group key". The output is one document for each unique group key.Một khóa nhóm thường là một trường, hoặc nhóm các trường. Khóa nhóm cũng có thể là kết quả của một biểu thức. Sử dụng trường 6 trong giai đoạn đường ống 4 để đặt khóa nhóm. Xem dưới đây để biết ví dụ sử dụng.usage examples.Trong đầu ra giai đoạn 4, trường 6 được đặt thành khóa nhóm cho tài liệu đó.Các tài liệu đầu ra cũng có thể chứa các trường bổ sung được đặt bằng cách sử dụng các biểu thức tích lũy.accumulator expressions. Ghi chú
Giai đoạn 4 có dạng nguyên mẫu sau: 4 stage has the following prototype form:
Các toán tử 6 và bộ tích lũy có thể chấp nhận bất kỳ 8 hợp lệ nào. Để biết thêm thông tin về biểu thức, xem biểu thức.accumulator operators can accept any valid 8. For more information on expressions, see Expressions.Toán tử 9 phải là một trong các toán tử tích lũy sau:Đã thay đổi trong phiên bản 5.0.
Trả về kết quả của chức năng tích lũy do người dùng xác định. MẹoXem thêm:Phần này mô tả tối ưu hóa để cải thiện hiệu suất của 4. Có những tối ưu hóa mà bạn có thể thực hiện thủ công và tối ưu hóa MongoDB làm cho nội bộ. 4. There are optimizations that you can make manually and optimizations MongoDB makes internally.Nếu một đường ống 00 và 01 theo cùng một trường và giai đoạn 4 chỉ sử dụng toán tử 6, hãy xem xét thêm một chỉ mục trên trường được nhóm phù hợp với thứ tự sắp xếp. Trong một số trường hợp, giai đoạn 4 có thể sử dụng chỉ mục để nhanh chóng tìm tài liệu đầu tiên của mỗi nhóm. 01 by the same field and the 4 stage only uses the 6
accumulator operator, consider adding an index on the grouped field which matches the sort order. In some cases, the 4 stage can use the index to quickly find the first document of each group.Thí dụNếu một bộ sưu tập có tên 05 chứa một chỉ mục 06, đường ống sau có thể sử dụng chỉ mục đó để tìm tài liệu đầu tiên của mỗi nhóm:
Bắt đầu từ phiên bản 5.2, MongoDB sử dụng công cụ truy vấn thực thi dựa trên khe để thực thi các giai đoạn 4 nếu một trong hai: 4 stages if either:
Để biết thêm thông tin, xem tối ưu hóa 4.Trong 10, hãy tạo một bộ sưu tập mẫu có tên 11 với các tài liệu sau: 10, create a sample collection named 11 with the following documents:
Hoạt động tổng hợp sau đây sử dụng giai đoạn 4 để đếm số lượng tài liệu trong bộ sưu tập 11: 4 stage to count the number of documents in the 11 collection:
Hoạt động trả về kết quả sau:
Hoạt động tổng hợp này tương đương với câu lệnh SQL sau:
MẹoHoạt động tổng hợp sau đây sử dụng giai đoạn 4 để truy xuất các giá trị mục riêng biệt từ bộ sưu tập 11: 4 stage to retrieve the distinct item values from the 11 collection:
Hoạt động trả về kết quả sau:
Hoạt động tổng hợp này tương đương với câu lệnh SQL sau: Hoạt động tổng hợp sau đây sử dụng giai đoạn 4 để truy xuất các giá trị mục riêng biệt từ bộ sưu tập 11: 4 stage groups the documents by 16 to retrieve the distinct item values. This stage returns the 19 for each item.Second Stage:The
20 stage filters the resulting documents to only return items with a 19 greater than or equal to 100.Hoạt động trả về kết quả sau:
Hoạt động tổng hợp này tương đương với câu lệnh SQL sau: 0MẹoXem thêm:Trong 10, hãy tạo một bộ sưu tập mẫu có tên 11 với các tài liệu sau: 10, create a sample collection named 11 with the following documents:
Hoạt động tổng hợp sau đây sử dụng giai đoạn 4 để đếm số lượng tài liệu trong bộ sưu tập 11: 2Hoạt động trả về kết quả sau: 4 stage groups the documents by date and calculates the total sale amount, average
quantity, and total count of the documents in each group.Third Stage:The 26 stage sorts the results by the total sale amount for each group in descending order.Hoạt động tổng hợp này tương đương với câu lệnh SQL sau: 3Hoạt động tổng hợp này tương đương với câu lệnh SQL sau: 4
Hoạt động tổng hợp sau đây sử dụng giai đoạn 4 để truy xuất các giá trị mục riêng biệt từ bộ sưu tập 11: 5Hoạt động trả về kết quả sau: 6Hoạt động tổng hợp này tương đương với câu lệnh SQL sau: 7Hoạt động tổng hợp sau đây sử dụng giai đoạn 4 để truy xuất các giá trị mục riêng biệt từ bộ sưu tập 11: 10, create a sample collection named 30 with the following documents: 8Các tài liệu của các nhóm hoạt động tổng hợp sau đây theo trường 16, tính toán tổng số tiền bán cho mỗi mặt hàng và chỉ trả lại các mặt hàng có tổng số tiền bán hơn hoặc bằng 100: 9Giai đoạn đầu tiên: Giai đoạn 4 nhóm các tài liệu bằng 16 để truy xuất các giá trị vật phẩm riêng biệt. Giai đoạn này trả về 19 cho mỗi mục. Giai đoạn thứ hai: Giai đoạn 20 lọc các tài liệu kết quả để chỉ trả về các mục với 19 lớn hơn hoặc bằng 100. 0Đường ống sau đây tính toán tổng số tiền bán hàng, số lượng bán hàng trung bình và số lượng bán hàng cho mỗi ngày trong năm 2014: 1Giai đoạn đầu tiên: Giai đoạn 20 lọc các tài liệu chỉ chuyển các tài liệu từ năm 2014 sang giai đoạn tiếp theo. Giai đoạn thứ hai: Giai đoạn ____24 nhóm các tài liệu theo ngày và tính tổng số lượng bán, số lượng trung bình và tổng số tài liệu trong các tài liệu trong Mỗi nhóm. Giai đoạn thứ hai: Giai đoạn 26 sắp xếp kết quả theo tổng số tiền bán cho mỗi nhóm theo thứ tự giảm dần.Hoạt động trả về các kết quả sau: uses the 34 system variable to group the entire documents by authors. This stage passes the following
documents to the next stage: 2Hoạt động tổng hợp sau đây chỉ định một nhóm 6 của 28, tính toán tổng số lượng bán, số lượng trung bình và số lượng của tất cả các tài liệu trong bộ sưu tập.Trong 10, hãy tạo một bộ sưu tập mẫu có tên 30 với các tài liệu sau:Hoạt động tổng hợp sau đây xoay vòng dữ liệu trong bộ sưu tập db.foo.aggregate([ { $sort:{ x : 1, y : 1 } }, { $group: { _id: { x : "$x" }, y: { $first : "$y" } } }])30 để có các tiêu đề được nhóm bởi các tác giả.Giai đoạn đầu tiên: Giai đoạn 4 nhóm các tài liệu bằng 16 để truy xuất các giá trị vật phẩm riêng biệt. Giai đoạn này trả về 19 cho mỗi mục. Giai đoạn thứ hai: Giai đoạn 20 lọc các tài liệu kết quả để chỉ trả về các mục với 19 lớn hơn hoặc bằng 100. 3Mẹo
Xem thêm:Đường ống sau đây tính toán tổng số tiền bán hàng, số lượng bán hàng trung bình và số lượng bán hàng cho mỗi ngày trong năm 2014: Tập hợp nhóm là gì?Một tổng hợp là một tập hợp những người tình cờ ở cùng một nơi cùng một lúc nhưng không có mối liên hệ nào khác với nhau. Ví dụ: Những người tập trung trong một nhà hàng vào một buổi tối cụ thể là một ví dụ về tổng hợp, không phải là một nhóm.a collection of people who happen to be at the same place at the same time but who have no other connection to one another. Example: The people gathered in a restaurant on a particular evening are an example of an aggregate, not a group.
Tổng hợp trong MongoDB đưa ra ví dụ là gì?Một đường ống tổng hợp bao gồm một hoặc nhiều giai đoạn xử lý các tài liệu: mỗi giai đoạn thực hiện một thao tác trên các tài liệu đầu vào. Ví dụ, một giai đoạn có thể lọc các tài liệu, tài liệu nhóm và tính toán các giá trị. Các tài liệu được đầu ra từ một giai đoạn được chuyển sang giai đoạn tiếp theo. Each stage performs an operation on the input documents. For example, a stage can filter documents, group documents, and calculate values. The documents that are output from a stage are passed to the next stage.
Các chức năng tổng hợp trong MongoDB là gì?Trong MongoDB, các hoạt động tổng hợp xử lý các bản ghi/tài liệu dữ liệu và trả về kết quả được tính toán.Nó thu thập các giá trị từ các tài liệu khác nhau và nhóm chúng lại với nhau và sau đó thực hiện các loại hoạt động khác nhau trên dữ liệu được nhóm đó như tổng, trung bình, tối thiểu, tối đa, v.v. để trả về kết quả được tính toán.process the data records/documents and return computed results. It collects values from various documents and groups them together and then performs different types of operations on that grouped data like sum, average, minimum, maximum, etc to return a computed result.
Chúng ta có thể làm nhóm trong MongoDB không?Chúng tôi có thể nhóm theo đơn cũng như nhiều trường từ bộ sưu tập, chúng tôi có thể sử dụng nhà điều hành nhóm $ trong MongoDB để nhóm nhóm từ bộ sưu tập và trả về tài liệu mới.Chúng tôi đang sử dụng $ AVG, $ Sum, $ Max, $ Min, $ Push, $ cuối cùng, $ đầu tiên và $ addtoset Toán tử với nhóm trong MongoDB., we can use $group operator in MongoDB to group fields from the collection and returns the new document as result. We are using $avg, $sum, $max, $min, $push, $last, $first and $addToSet operator with group by in MongoDB. |