Tài liệu về nhà → Hướng dẫn sử dụng MongoDB → MongoDB Manual
{ "_id" : 1, "item" : "abc", "price" : 10, "quantity" : 2, "date" : ISODate["2014-01-01T08:00:00Z"] } { "_id" : 2, "item" : "jkl", "price" : 20, "quantity" : 1, "date" : ISODate["2014-02-03T09:00:00Z"] } { "_id" : 3, "item" : "xyz", "price" : 5, "quantity" : 5, "date" : ISODate["2014-02-03T09:05:00Z"] } { "_id" : 4, "item" : "abc", "price" : 10, "quantity" : 10, "date" : ISODate["2014-02-15T08:00:00Z"] } { "_id" : 5, "item" : "xyz", "price" : 5, "quantity" : 10, "date" : ISODate["2014-02-15T09:05:00Z"] }
2Changed trong phiên bản 5.0.Changed in version 5.0.
Tính toán và trả về tổng tập thể của các giá trị số.
{ "_id" : 1, "item" : "abc", "price" : 10, "quantity" : 2, "date" : ISODate["2014-01-01T08:00:00Z"] } { "_id" : 2, "item" : "jkl", "price" : 20, "quantity" : 1, "date" : ISODate["2014-02-03T09:00:00Z"] } { "_id" : 3, "item" : "xyz", "price" : 5, "quantity" : 5, "date" : ISODate["2014-02-03T09:05:00Z"] } { "_id" : 4, "item" : "abc", "price" : 10, "quantity" : 10, "date" : ISODate["2014-02-15T08:00:00Z"] } { "_id" : 5, "item" : "xyz", "price" : 5, "quantity" : 10, "date" : ISODate["2014-02-15T09:05:00Z"] }
2 bỏ qua các giá trị không phải là số.{ "_id" : 1, "item" : "abc", "price" : 10, "quantity" : 2, "date" : ISODate["2014-01-01T08:00:00Z"] } { "_id" : 2, "item" : "jkl", "price" : 20, "quantity" : 1, "date" : ISODate["2014-02-03T09:00:00Z"] } { "_id" : 3, "item" : "xyz", "price" : 5, "quantity" : 5, "date" : ISODate["2014-02-03T09:05:00Z"] } { "_id" : 4, "item" : "abc", "price" : 10, "quantity" : 10, "date" : ISODate["2014-02-15T08:00:00Z"] } { "_id" : 5, "item" : "xyz", "price" : 5, "quantity" : 10, "date" : ISODate["2014-02-15T09:05:00Z"] }
2 ignores non-numeric values.
2 có sẵn trong các giai đoạn này: is available in these stages:{ "_id" : 1, "item" : "abc", "price" : 10, "quantity" : 2, "date" : ISODate["2014-01-01T08:00:00Z"] } { "_id" : 2, "item" : "jkl", "price" : 20, "quantity" : 1, "date" : ISODate["2014-02-03T09:00:00Z"] } { "_id" : 3, "item" : "xyz", "price" : 5, "quantity" : 5, "date" : ISODate["2014-02-03T09:05:00Z"] } { "_id" : 4, "item" : "abc", "price" : 10, "quantity" : 10, "date" : ISODate["2014-02-15T08:00:00Z"] } { "_id" : 5, "item" : "xyz", "price" : 5, "quantity" : 10, "date" : ISODate["2014-02-15T09:05:00Z"] }
5 [có sẵn bắt đầu từ MongoDB 3.4]{ "_id" : 1, "item" : "abc", "price" : 10, "quantity" : 2, "date" : ISODate["2014-01-01T08:00:00Z"] } { "_id" : 2, "item" : "jkl", "price" : 20, "quantity" : 1, "date" : ISODate["2014-02-03T09:00:00Z"] } { "_id" : 3, "item" : "xyz", "price" : 5, "quantity" : 5, "date" : ISODate["2014-02-03T09:05:00Z"] } { "_id" : 4, "item" : "abc", "price" : 10, "quantity" : 10, "date" : ISODate["2014-02-15T08:00:00Z"] } { "_id" : 5, "item" : "xyz", "price" : 5, "quantity" : 10, "date" : ISODate["2014-02-15T09:05:00Z"] }
6{ "_id" : 1, "item" : "abc", "price" : 10, "quantity" : 2, "date" : ISODate["2014-01-01T08:00:00Z"] } { "_id" : 2, "item" : "jkl", "price" : 20, "quantity" : 1, "date" : ISODate["2014-02-03T09:00:00Z"] } { "_id" : 3, "item" : "xyz", "price" : 5, "quantity" : 5, "date" : ISODate["2014-02-03T09:05:00Z"] } { "_id" : 4, "item" : "abc", "price" : 10, "quantity" : 10, "date" : ISODate["2014-02-15T08:00:00Z"] } { "_id" : 5, "item" : "xyz", "price" : 5, "quantity" : 10, "date" : ISODate["2014-02-15T09:05:00Z"] }
7{ "_id" : 1, "item" : "abc", "price" : 10, "quantity" : 2, "date" : ISODate["2014-01-01T08:00:00Z"] } { "_id" : 2, "item" : "jkl", "price" : 20, "quantity" : 1, "date" : ISODate["2014-02-03T09:00:00Z"] } { "_id" : 3, "item" : "xyz", "price" : 5, "quantity" : 5, "date" : ISODate["2014-02-03T09:05:00Z"] } { "_id" : 4, "item" : "abc", "price" : 10, "quantity" : 10, "date" : ISODate["2014-02-15T08:00:00Z"] } { "_id" : 5, "item" : "xyz", "price" : 5, "quantity" : 10, "date" : ISODate["2014-02-15T09:05:00Z"] }
8{ "_id" : 1, "item" : "abc", "price" : 10, "quantity" : 2, "date" : ISODate["2014-01-01T08:00:00Z"] } { "_id" : 2, "item" : "jkl", "price" : 20, "quantity" : 1, "date" : ISODate["2014-02-03T09:00:00Z"] } { "_id" : 3, "item" : "xyz", "price" : 5, "quantity" : 5, "date" : ISODate["2014-02-03T09:05:00Z"] } { "_id" : 4, "item" : "abc", "price" : 10, "quantity" : 10, "date" : ISODate["2014-02-15T08:00:00Z"] } { "_id" : 5, "item" : "xyz", "price" : 5, "quantity" : 10, "date" : ISODate["2014-02-15T09:05:00Z"] } Giai đoạn
9 bao gồm biểu thức{ "_id" : 1, "item" : "abc", "price" : 10, "quantity" : 2, "date" : ISODate["2014-01-01T08:00:00Z"] } { "_id" : 2, "item" : "jkl", "price" : 20, "quantity" : 1, "date" : ISODate["2014-02-03T09:00:00Z"] } { "_id" : 3, "item" : "xyz", "price" : 5, "quantity" : 5, "date" : ISODate["2014-02-03T09:05:00Z"] } { "_id" : 4, "item" : "abc", "price" : 10, "quantity" : 10, "date" : ISODate["2014-02-15T08:00:00Z"] } { "_id" : 5, "item" : "xyz", "price" : 5, "quantity" : 10, "date" : ISODate["2014-02-15T09:05:00Z"] }
0db.sales.aggregate[ [ { $group: { _id: { day: { $dayOfYear: "$date"}, year: { $year: "$date" } }, totalAmount: { $sum: { $multiply: [ "$price", "$quantity" ] } }, count: { $sum: 1 } } } ] ]
1db.sales.aggregate[ [ { $group: { _id: { day: { $dayOfYear: "$date"}, year: { $year: "$date" } }, totalAmount: { $sum: { $multiply: [ "$price", "$quantity" ] } }, count: { $sum: 1 } } } ] ]
2 [có sẵn bắt đầu từ MongoDB 3.4]db.sales.aggregate[ [ { $group: { _id: { day: { $dayOfYear: "$date"}, year: { $year: "$date" } }, totalAmount: { $sum: { $multiply: [ "$price", "$quantity" ] } }, count: { $sum: 1 } } } ] ]
3 [có sẵn bắt đầu từ MongoDB 4.2]db.sales.aggregate[ [ { $group: { _id: { day: { $dayOfYear: "$date"}, year: { $year: "$date" } }, totalAmount: { $sum: { $multiply: [ "$price", "$quantity" ] } }, count: { $sum: 1 } } } ] ]
4 [có sẵn bắt đầu từ MongoDB 4.2]db.sales.aggregate[ [ { $group: { _id: { day: { $dayOfYear: "$date"}, year: { $year: "$date" } }, totalAmount: { $sum: { $multiply: [ "$price", "$quantity" ] } }, count: { $sum: 1 } } } ] ]
5 [có sẵn bắt đầu từ MongoDB 5.0]db.sales.aggregate[ [ { $group: { _id: { day: { $dayOfYear: "$date"}, year: { $year: "$date" } }, totalAmount: { $sum: { $multiply: [ "$price", "$quantity" ] } }, count: { $sum: 1 } } } ] ]
Trong MongoDB 3.2 và trước đó,
{ "_id" : 1, "item" : "abc", "price" : 10, "quantity" : 2, "date" : ISODate["2014-01-01T08:00:00Z"] } { "_id" : 2, "item" : "jkl", "price" : 20, "quantity" : 1, "date" : ISODate["2014-02-03T09:00:00Z"] } { "_id" : 3, "item" : "xyz", "price" : 5, "quantity" : 5, "date" : ISODate["2014-02-03T09:05:00Z"] } { "_id" : 4, "item" : "abc", "price" : 10, "quantity" : 10, "date" : ISODate["2014-02-15T08:00:00Z"] } { "_id" : 5, "item" : "xyz", "price" : 5, "quantity" : 10, "date" : ISODate["2014-02-15T09:05:00Z"] }
2 chỉ có sẵn trong giai đoạn { "_id" : 1, "item" : "abc", "price" : 10, "quantity" : 2, "date" : ISODate["2014-01-01T08:00:00Z"] } { "_id" : 2, "item" : "jkl", "price" : 20, "quantity" : 1, "date" : ISODate["2014-02-03T09:00:00Z"] } { "_id" : 3, "item" : "xyz", "price" : 5, "quantity" : 5, "date" : ISODate["2014-02-03T09:05:00Z"] } { "_id" : 4, "item" : "abc", "price" : 10, "quantity" : 10, "date" : ISODate["2014-02-15T08:00:00Z"] } { "_id" : 5, "item" : "xyz", "price" : 5, "quantity" : 10, "date" : ISODate["2014-02-15T09:05:00Z"] }
8.{ "_id" : 1, "item" : "abc", "price" : 10, "quantity" : 2, "date" : ISODate["2014-01-01T08:00:00Z"] } { "_id" : 2, "item" : "jkl", "price" : 20, "quantity" : 1, "date" : ISODate["2014-02-03T09:00:00Z"] } { "_id" : 3, "item" : "xyz", "price" : 5, "quantity" : 5, "date" : ISODate["2014-02-03T09:05:00Z"] } { "_id" : 4, "item" : "abc", "price" : 10, "quantity" : 10, "date" : ISODate["2014-02-15T08:00:00Z"] } { "_id" : 5, "item" : "xyz", "price" : 5, "quantity" : 10, "date" : ISODate["2014-02-15T09:05:00Z"] }
2 is available in the
{ "_id" : 1, "item" : "abc", "price" : 10, "quantity" : 2, "date" : ISODate["2014-01-01T08:00:00Z"] } { "_id" : 2, "item" : "jkl", "price" : 20, "quantity" : 1, "date" : ISODate["2014-02-03T09:00:00Z"] } { "_id" : 3, "item" : "xyz", "price" : 5, "quantity" : 5, "date" : ISODate["2014-02-03T09:05:00Z"] } { "_id" : 4, "item" : "abc", "price" : 10, "quantity" : 10, "date" : ISODate["2014-02-15T08:00:00Z"] } { "_id" : 5, "item" : "xyz", "price" : 5, "quantity" : 10, "date" : ISODate["2014-02-15T09:05:00Z"] }
8 stage only.Khi được sử dụng trong các giai đoạn
{ "_id" : 1, "item" : "abc", "price" : 10, "quantity" : 2, "date" : ISODate["2014-01-01T08:00:00Z"] } { "_id" : 2, "item" : "jkl", "price" : 20, "quantity" : 1, "date" : ISODate["2014-02-03T09:00:00Z"] } { "_id" : 3, "item" : "xyz", "price" : 5, "quantity" : 5, "date" : ISODate["2014-02-03T09:05:00Z"] } { "_id" : 4, "item" : "abc", "price" : 10, "quantity" : 10, "date" : ISODate["2014-02-15T08:00:00Z"] } { "_id" : 5, "item" : "xyz", "price" : 5, "quantity" : 10, "date" : ISODate["2014-02-15T09:05:00Z"] }
6, { "_id" : 1, "item" : "abc", "price" : 10, "quantity" : 2, "date" : ISODate["2014-01-01T08:00:00Z"] } { "_id" : 2, "item" : "jkl", "price" : 20, "quantity" : 1, "date" : ISODate["2014-02-03T09:00:00Z"] } { "_id" : 3, "item" : "xyz", "price" : 5, "quantity" : 5, "date" : ISODate["2014-02-03T09:05:00Z"] } { "_id" : 4, "item" : "abc", "price" : 10, "quantity" : 10, "date" : ISODate["2014-02-15T08:00:00Z"] } { "_id" : 5, "item" : "xyz", "price" : 5, "quantity" : 10, "date" : ISODate["2014-02-15T09:05:00Z"] }
7, { "_id" : 1, "item" : "abc", "price" : 10, "quantity" : 2, "date" : ISODate["2014-01-01T08:00:00Z"] } { "_id" : 2, "item" : "jkl", "price" : 20, "quantity" : 1, "date" : ISODate["2014-02-03T09:00:00Z"] } { "_id" : 3, "item" : "xyz", "price" : 5, "quantity" : 5, "date" : ISODate["2014-02-03T09:05:00Z"] } { "_id" : 4, "item" : "abc", "price" : 10, "quantity" : 10, "date" : ISODate["2014-02-15T08:00:00Z"] } { "_id" : 5, "item" : "xyz", "price" : 5, "quantity" : 10, "date" : ISODate["2014-02-15T09:05:00Z"] }
8 và db.sales.aggregate[ [ { $group: { _id: { day: { $dayOfYear: "$date"}, year: { $year: "$date" } }, totalAmount: { $sum: { $multiply: [ "$price", "$quantity" ] } }, count: { $sum: 1 } } } ] ]
5, { "_id" : 1, "item" : "abc", "price" : 10, "quantity" : 2, "date" : ISODate["2014-01-01T08:00:00Z"] } { "_id" : 2, "item" : "jkl", "price" : 20, "quantity" : 1, "date" : ISODate["2014-02-03T09:00:00Z"] } { "_id" : 3, "item" : "xyz", "price" : 5, "quantity" : 5, "date" : ISODate["2014-02-03T09:05:00Z"] } { "_id" : 4, "item" : "abc", "price" : 10, "quantity" : 10, "date" : ISODate["2014-02-15T08:00:00Z"] } { "_id" : 5, "item" : "xyz", "price" : 5, "quantity" : 10, "date" : ISODate["2014-02-15T09:05:00Z"] }
2 có cú pháp này:{ "_id" : 1, "item" : "abc", "price" : 10, "quantity" : 2, "date" : ISODate["2014-01-01T08:00:00Z"] } { "_id" : 2, "item" : "jkl", "price" : 20, "quantity" : 1, "date" : ISODate["2014-02-03T09:00:00Z"] } { "_id" : 3, "item" : "xyz", "price" : 5, "quantity" : 5, "date" : ISODate["2014-02-03T09:05:00Z"] } { "_id" : 4, "item" : "abc", "price" : 10, "quantity" : 10, "date" : ISODate["2014-02-15T08:00:00Z"] } { "_id" : 5, "item" : "xyz", "price" : 5, "quantity" : 10, "date" : ISODate["2014-02-15T09:05:00Z"] }
2 has this syntax:Khi được sử dụng trong các giai đoạn được hỗ trợ khác,
{ "_id" : 1, "item" : "abc", "price" : 10, "quantity" : 2, "date" : ISODate["2014-01-01T08:00:00Z"] } { "_id" : 2, "item" : "jkl", "price" : 20, "quantity" : 1, "date" : ISODate["2014-02-03T09:00:00Z"] } { "_id" : 3, "item" : "xyz", "price" : 5, "quantity" : 5, "date" : ISODate["2014-02-03T09:05:00Z"] } { "_id" : 4, "item" : "abc", "price" : 10, "quantity" : 10, "date" : ISODate["2014-02-15T08:00:00Z"] } { "_id" : 5, "item" : "xyz", "price" : 5, "quantity" : 10, "date" : ISODate["2014-02-15T09:05:00Z"] }
2 có một trong hai cú pháp:{ "_id" : 1, "item" : "abc", "price" : 10, "quantity" : 2, "date" : ISODate["2014-01-01T08:00:00Z"] } { "_id" : 2, "item" : "jkl", "price" : 20, "quantity" : 1, "date" : ISODate["2014-02-03T09:00:00Z"] } { "_id" : 3, "item" : "xyz", "price" : 5, "quantity" : 5, "date" : ISODate["2014-02-03T09:05:00Z"] } { "_id" : 4, "item" : "abc", "price" : 10, "quantity" : 10, "date" : ISODate["2014-02-15T08:00:00Z"] } { "_id" : 5, "item" : "xyz", "price" : 5, "quantity" : 10, "date" : ISODate["2014-02-15T09:05:00Z"] }
2 has one of two syntaxes:
2 có một biểu thức được chỉ định là toán hạng của nó: has one specified expression as its operand:{ "_id" : 1, "item" : "abc", "price" : 10, "quantity" : 2, "date" : ISODate["2014-01-01T08:00:00Z"] } { "_id" : 2, "item" : "jkl", "price" : 20, "quantity" : 1, "date" : ISODate["2014-02-03T09:00:00Z"] } { "_id" : 3, "item" : "xyz", "price" : 5, "quantity" : 5, "date" : ISODate["2014-02-03T09:05:00Z"] } { "_id" : 4, "item" : "abc", "price" : 10, "quantity" : 10, "date" : ISODate["2014-02-15T08:00:00Z"] } { "_id" : 5, "item" : "xyz", "price" : 5, "quantity" : 10, "date" : ISODate["2014-02-15T09:05:00Z"] }
2 có danh sách các biểu thức được chỉ định là toán hạng của nó: has a list of specified expressions as its operand:{ "_id" : 1, "item" : "abc", "price" : 10, "quantity" : 2, "date" : ISODate["2014-01-01T08:00:00Z"] } { "_id" : 2, "item" : "jkl", "price" : 20, "quantity" : 1, "date" : ISODate["2014-02-03T09:00:00Z"] } { "_id" : 3, "item" : "xyz", "price" : 5, "quantity" : 5, "date" : ISODate["2014-02-03T09:05:00Z"] } { "_id" : 4, "item" : "abc", "price" : 10, "quantity" : 10, "date" : ISODate["2014-02-15T08:00:00Z"] } { "_id" : 5, "item" : "xyz", "price" : 5, "quantity" : 10, "date" : ISODate["2014-02-15T09:05:00Z"] } { $sum: [ , ... ] }
Để biết thêm thông tin về biểu thức, xem biểu thức.
Kết quả sẽ có cùng loại với đầu vào ngoại trừ khi nó không thể được biểu diễn chính xác trong loại đó. Trong những trường hợp này:
Một số nguyên 32 bit sẽ được chuyển đổi thành số nguyên 64 bit nếu kết quả được thể hiện dưới dạng số nguyên 64 bit.
Một số nguyên 32 bit sẽ được chuyển đổi thành gấp đôi nếu kết quả không thể được thể hiện dưới dạng số nguyên 64 bit.
Một số nguyên 64 bit sẽ được chuyển đổi thành gấp đôi nếu kết quả không thể được thể hiện dưới dạng số nguyên 64 bit.
Nếu được sử dụng trên một trường chứa cả các giá trị số và không số lượng,
{ "_id" : 1, "item" : "abc", "price" : 10, "quantity" : 2, "date" : ISODate["2014-01-01T08:00:00Z"] } { "_id" : 2, "item" : "jkl", "price" : 20, "quantity" : 1, "date" : ISODate["2014-02-03T09:00:00Z"] } { "_id" : 3, "item" : "xyz", "price" : 5, "quantity" : 5, "date" : ISODate["2014-02-03T09:05:00Z"] } { "_id" : 4, "item" : "abc", "price" : 10, "quantity" : 10, "date" : ISODate["2014-02-15T08:00:00Z"] } { "_id" : 5, "item" : "xyz", "price" : 5, "quantity" : 10, "date" : ISODate["2014-02-15T09:05:00Z"] }
2 bỏ qua các giá trị không phải là số và trả về tổng của các giá trị số.{ "_id" : 1, "item" : "abc", "price" : 10, "quantity" : 2, "date" : ISODate["2014-01-01T08:00:00Z"] } { "_id" : 2, "item" : "jkl", "price" : 20, "quantity" : 1, "date" : ISODate["2014-02-03T09:00:00Z"] } { "_id" : 3, "item" : "xyz", "price" : 5, "quantity" : 5, "date" : ISODate["2014-02-03T09:05:00Z"] } { "_id" : 4, "item" : "abc", "price" : 10, "quantity" : 10, "date" : ISODate["2014-02-15T08:00:00Z"] } { "_id" : 5, "item" : "xyz", "price" : 5, "quantity" : 10, "date" : ISODate["2014-02-15T09:05:00Z"] }
2 ignores the non-numeric values and returns the sum of the numeric values.Nếu được sử dụng trên một trường không tồn tại trong bất kỳ tài liệu nào trong bộ sưu tập,
{ "_id" : 1, "item" : "abc", "price" : 10, "quantity" : 2, "date" : ISODate["2014-01-01T08:00:00Z"] } { "_id" : 2, "item" : "jkl", "price" : 20, "quantity" : 1, "date" : ISODate["2014-02-03T09:00:00Z"] } { "_id" : 3, "item" : "xyz", "price" : 5, "quantity" : 5, "date" : ISODate["2014-02-03T09:05:00Z"] } { "_id" : 4, "item" : "abc", "price" : 10, "quantity" : 10, "date" : ISODate["2014-02-15T08:00:00Z"] } { "_id" : 5, "item" : "xyz", "price" : 5, "quantity" : 10, "date" : ISODate["2014-02-15T09:05:00Z"] }
2 trả về { "_id" : { "day" : 46, "year" : 2014 }, "totalAmount" : 150, "count" : 2 } { "_id" : { "day" : 34, "year" : 2014 }, "totalAmount" : 45, "count" : 2 } { "_id" : { "day" : 1, "year" : 2014 }, "totalAmount" : 20, "count" : 1 }
8 cho trường đó.{ "_id" : 1, "item" : "abc", "price" : 10, "quantity" : 2, "date" : ISODate["2014-01-01T08:00:00Z"] } { "_id" : 2, "item" : "jkl", "price" : 20, "quantity" : 1, "date" : ISODate["2014-02-03T09:00:00Z"] } { "_id" : 3, "item" : "xyz", "price" : 5, "quantity" : 5, "date" : ISODate["2014-02-03T09:05:00Z"] } { "_id" : 4, "item" : "abc", "price" : 10, "quantity" : 10, "date" : ISODate["2014-02-15T08:00:00Z"] } { "_id" : 5, "item" : "xyz", "price" : 5, "quantity" : 10, "date" : ISODate["2014-02-15T09:05:00Z"] }
2 returns
{ "_id" : { "day" : 46, "year" : 2014 }, "totalAmount" : 150, "count" : 2 } { "_id" : { "day" : 34, "year" : 2014 }, "totalAmount" : 45, "count" : 2 } { "_id" : { "day" : 1, "year" : 2014 }, "totalAmount" : 20, "count" : 1 }
8 for that field.Nếu tất cả các toán hạng là không phải là số,
{ "_id" : 1, "item" : "abc", "price" : 10, "quantity" : 2, "date" : ISODate["2014-01-01T08:00:00Z"] } { "_id" : 2, "item" : "jkl", "price" : 20, "quantity" : 1, "date" : ISODate["2014-02-03T09:00:00Z"] } { "_id" : 3, "item" : "xyz", "price" : 5, "quantity" : 5, "date" : ISODate["2014-02-03T09:05:00Z"] } { "_id" : 4, "item" : "abc", "price" : 10, "quantity" : 10, "date" : ISODate["2014-02-15T08:00:00Z"] } { "_id" : 5, "item" : "xyz", "price" : 5, "quantity" : 10, "date" : ISODate["2014-02-15T09:05:00Z"] }
2 trả về { "_id" : { "day" : 46, "year" : 2014 }, "totalAmount" : 150, "count" : 2 } { "_id" : { "day" : 34, "year" : 2014 }, "totalAmount" : 45, "count" : 2 } { "_id" : { "day" : 1, "year" : 2014 }, "totalAmount" : 20, "count" : 1 }
8.{ "_id" : 1, "item" : "abc", "price" : 10, "quantity" : 2, "date" : ISODate["2014-01-01T08:00:00Z"] } { "_id" : 2, "item" : "jkl", "price" : 20, "quantity" : 1, "date" : ISODate["2014-02-03T09:00:00Z"] } { "_id" : 3, "item" : "xyz", "price" : 5, "quantity" : 5, "date" : ISODate["2014-02-03T09:05:00Z"] } { "_id" : 4, "item" : "abc", "price" : 10, "quantity" : 10, "date" : ISODate["2014-02-15T08:00:00Z"] } { "_id" : 5, "item" : "xyz", "price" : 5, "quantity" : 10, "date" : ISODate["2014-02-15T09:05:00Z"] }
2 returns { "_id" : { "day" : 46, "year" : 2014 }, "totalAmount" : 150, "count" : 2 } { "_id" : { "day" : 34, "year" : 2014 }, "totalAmount" : 45, "count" : 2 } { "_id" : { "day" : 1, "year" : 2014 }, "totalAmount" : 20, "count" : 1 }
8.Trong giai đoạn
{ "_id" : 1, "item" : "abc", "price" : 10, "quantity" : 2, "date" : ISODate["2014-01-01T08:00:00Z"] } { "_id" : 2, "item" : "jkl", "price" : 20, "quantity" : 1, "date" : ISODate["2014-02-03T09:00:00Z"] } { "_id" : 3, "item" : "xyz", "price" : 5, "quantity" : 5, "date" : ISODate["2014-02-03T09:05:00Z"] } { "_id" : 4, "item" : "abc", "price" : 10, "quantity" : 10, "date" : ISODate["2014-02-15T08:00:00Z"] } { "_id" : 5, "item" : "xyz", "price" : 5, "quantity" : 10, "date" : ISODate["2014-02-15T09:05:00Z"] }
8, nếu biểu thức được giải quyết thành một mảng, { "_id" : 1, "item" : "abc", "price" : 10, "quantity" : 2, "date" : ISODate["2014-01-01T08:00:00Z"] } { "_id" : 2, "item" : "jkl", "price" : 20, "quantity" : 1, "date" : ISODate["2014-02-03T09:00:00Z"] } { "_id" : 3, "item" : "xyz", "price" : 5, "quantity" : 5, "date" : ISODate["2014-02-03T09:05:00Z"] } { "_id" : 4, "item" : "abc", "price" : 10, "quantity" : 10, "date" : ISODate["2014-02-15T08:00:00Z"] } { "_id" : 5, "item" : "xyz", "price" : 5, "quantity" : 10, "date" : ISODate["2014-02-15T09:05:00Z"] }
2 coi toán hạng là giá trị phi hình số.{ "_id" : 1, "item" : "abc", "price" : 10, "quantity" : 2, "date" : ISODate["2014-01-01T08:00:00Z"] } { "_id" : 2, "item" : "jkl", "price" : 20, "quantity" : 1, "date" : ISODate["2014-02-03T09:00:00Z"] } { "_id" : 3, "item" : "xyz", "price" : 5, "quantity" : 5, "date" : ISODate["2014-02-03T09:05:00Z"] } { "_id" : 4, "item" : "abc", "price" : 10, "quantity" : 10, "date" : ISODate["2014-02-15T08:00:00Z"] } { "_id" : 5, "item" : "xyz", "price" : 5, "quantity" : 10, "date" : ISODate["2014-02-15T09:05:00Z"] }
2 treats the operand as a non-numerical value.Trong các giai đoạn được hỗ trợ khác:
Với một biểu thức duy nhất là toán hạng của nó, nếu biểu thức được giải quyết thành một mảng,
2 sẽ đi vào mảng để hoạt động trên các phần tử số của mảng để trả về một giá trị duy nhất.{ "_id" : 1, "item" : "abc", "price" : 10, "quantity" : 2, "date" : ISODate["2014-01-01T08:00:00Z"] } { "_id" : 2, "item" : "jkl", "price" : 20, "quantity" : 1, "date" : ISODate["2014-02-03T09:00:00Z"] } { "_id" : 3, "item" : "xyz", "price" : 5, "quantity" : 5, "date" : ISODate["2014-02-03T09:05:00Z"] } { "_id" : 4, "item" : "abc", "price" : 10, "quantity" : 10, "date" : ISODate["2014-02-15T08:00:00Z"] } { "_id" : 5, "item" : "xyz", "price" : 5, "quantity" : 10, "date" : ISODate["2014-02-15T09:05:00Z"] }
2 traverses into the array to operate on the numerical elements of the array to return a single value.{ "_id" : 1, "item" : "abc", "price" : 10, "quantity" : 2, "date" : ISODate["2014-01-01T08:00:00Z"] } { "_id" : 2, "item" : "jkl", "price" : 20, "quantity" : 1, "date" : ISODate["2014-02-03T09:00:00Z"] } { "_id" : 3, "item" : "xyz", "price" : 5, "quantity" : 5, "date" : ISODate["2014-02-03T09:05:00Z"] } { "_id" : 4, "item" : "abc", "price" : 10, "quantity" : 10, "date" : ISODate["2014-02-15T08:00:00Z"] } { "_id" : 5, "item" : "xyz", "price" : 5, "quantity" : 10, "date" : ISODate["2014-02-15T09:05:00Z"] } Với một danh sách các biểu thức là toán hạng của nó, nếu bất kỳ biểu thức nào được giải quyết thành một mảng,
2 không đi qua mảng mà thay vào đó coi mảng là một giá trị phi hình số.{ "_id" : 1, "item" : "abc", "price" : 10, "quantity" : 2, "date" : ISODate["2014-01-01T08:00:00Z"] } { "_id" : 2, "item" : "jkl", "price" : 20, "quantity" : 1, "date" : ISODate["2014-02-03T09:00:00Z"] } { "_id" : 3, "item" : "xyz", "price" : 5, "quantity" : 5, "date" : ISODate["2014-02-03T09:05:00Z"] } { "_id" : 4, "item" : "abc", "price" : 10, "quantity" : 10, "date" : ISODate["2014-02-15T08:00:00Z"] } { "_id" : 5, "item" : "xyz", "price" : 5, "quantity" : 10, "date" : ISODate["2014-02-15T09:05:00Z"] }
2 does not traverse into the array but instead treats the array as a non-numerical value.{ "_id" : 1, "item" : "abc", "price" : 10, "quantity" : 2, "date" : ISODate["2014-01-01T08:00:00Z"] } { "_id" : 2, "item" : "jkl", "price" : 20, "quantity" : 1, "date" : ISODate["2014-02-03T09:00:00Z"] } { "_id" : 3, "item" : "xyz", "price" : 5, "quantity" : 5, "date" : ISODate["2014-02-03T09:05:00Z"] } { "_id" : 4, "item" : "abc", "price" : 10, "quantity" : 10, "date" : ISODate["2014-02-15T08:00:00Z"] } { "_id" : 5, "item" : "xyz", "price" : 5, "quantity" : 10, "date" : ISODate["2014-02-15T09:05:00Z"] }
Xem xét bộ sưu tập
db.sales.aggregate[ [ { $group: { _id: { day: { $dayOfYear: "$date"}, year: { $year: "$date" } }, totalAmount: { $sum: "$qty" }, count: { $sum: 1 } } } ] ]
5 với các tài liệu sau:{ "_id" : 1, "item" : "abc", "price" : 10, "quantity" : 2, "date" : ISODate["2014-01-01T08:00:00Z"] } { "_id" : 2, "item" : "jkl", "price" : 20, "quantity" : 1, "date" : ISODate["2014-02-03T09:00:00Z"] } { "_id" : 3, "item" : "xyz", "price" : 5, "quantity" : 5, "date" : ISODate["2014-02-03T09:05:00Z"] } { "_id" : 4, "item" : "abc", "price" : 10, "quantity" : 10, "date" : ISODate["2014-02-15T08:00:00Z"] } { "_id" : 5, "item" : "xyz", "price" : 5, "quantity" : 10, "date" : ISODate["2014-02-15T09:05:00Z"] }
Nhóm các tài liệu vào ngày và năm của trường
db.sales.aggregate[ [ { $group: { _id: { day: { $dayOfYear: "$date"}, year: { $year: "$date" } }, totalAmount: { $sum: "$qty" }, count: { $sum: 1 } } } ] ]
6, hoạt động sau đây sử dụng bộ tích lũy { "_id" : 1, "item" : "abc", "price" : 10, "quantity" : 2, "date" : ISODate["2014-01-01T08:00:00Z"] } { "_id" : 2, "item" : "jkl", "price" : 20, "quantity" : 1, "date" : ISODate["2014-02-03T09:00:00Z"] } { "_id" : 3, "item" : "xyz", "price" : 5, "quantity" : 5, "date" : ISODate["2014-02-03T09:05:00Z"] } { "_id" : 4, "item" : "abc", "price" : 10, "quantity" : 10, "date" : ISODate["2014-02-15T08:00:00Z"] } { "_id" : 5, "item" : "xyz", "price" : 5, "quantity" : 10, "date" : ISODate["2014-02-15T09:05:00Z"] }
2 để tính tổng số tiền và số lượng cho mỗi nhóm tài liệu.{ "_id" : 1, "item" : "abc", "price" : 10, "quantity" : 2, "date" : ISODate["2014-01-01T08:00:00Z"] } { "_id" : 2, "item" : "jkl", "price" : 20, "quantity" : 1, "date" : ISODate["2014-02-03T09:00:00Z"] } { "_id" : 3, "item" : "xyz", "price" : 5, "quantity" : 5, "date" : ISODate["2014-02-03T09:05:00Z"] } { "_id" : 4, "item" : "abc", "price" : 10, "quantity" : 10, "date" : ISODate["2014-02-15T08:00:00Z"] } { "_id" : 5, "item" : "xyz", "price" : 5, "quantity" : 10, "date" : ISODate["2014-02-15T09:05:00Z"] }
2 accumulator to compute the total amount and the count for each group of documents.db.sales.aggregate[ [ { $group: { _id: { day: { $dayOfYear: "$date"}, year: { $year: "$date" } }, totalAmount: { $sum: { $multiply: [ "$price", "$quantity" ] } }, count: { $sum: 1 } } } ] ]
Hoạt động trả về các kết quả sau:
{ "_id" : { "day" : 46, "year" : 2014 }, "totalAmount" : 150, "count" : 2 } { "_id" : { "day" : 34, "year" : 2014 }, "totalAmount" : 45, "count" : 2 } { "_id" : { "day" : 1, "year" : 2014 }, "totalAmount" : 20, "count" : 1 }
Sử dụng
{ "_id" : 1, "item" : "abc", "price" : 10, "quantity" : 2, "date" : ISODate["2014-01-01T08:00:00Z"] } { "_id" : 2, "item" : "jkl", "price" : 20, "quantity" : 1, "date" : ISODate["2014-02-03T09:00:00Z"] } { "_id" : 3, "item" : "xyz", "price" : 5, "quantity" : 5, "date" : ISODate["2014-02-03T09:05:00Z"] } { "_id" : 4, "item" : "abc", "price" : 10, "quantity" : 10, "date" : ISODate["2014-02-15T08:00:00Z"] } { "_id" : 5, "item" : "xyz", "price" : 5, "quantity" : 10, "date" : ISODate["2014-02-15T09:05:00Z"] }
2 trên trường không tồn tại trả về giá trị { "_id" : { "day" : 46, "year" : 2014 }, "totalAmount" : 150, "count" : 2 } { "_id" : { "day" : 34, "year" : 2014 }, "totalAmount" : 45, "count" : 2 } { "_id" : { "day" : 1, "year" : 2014 }, "totalAmount" : 20, "count" : 1 }
8. Hoạt động sau đây cố gắng { "_id" : 1, "item" : "abc", "price" : 10, "quantity" : 2, "date" : ISODate["2014-01-01T08:00:00Z"] } { "_id" : 2, "item" : "jkl", "price" : 20, "quantity" : 1, "date" : ISODate["2014-02-03T09:00:00Z"] } { "_id" : 3, "item" : "xyz", "price" : 5, "quantity" : 5, "date" : ISODate["2014-02-03T09:05:00Z"] } { "_id" : 4, "item" : "abc", "price" : 10, "quantity" : 10, "date" : ISODate["2014-02-15T08:00:00Z"] } { "_id" : 5, "item" : "xyz", "price" : 5, "quantity" : 10, "date" : ISODate["2014-02-15T09:05:00Z"] }
2 trên { "_id" : { "day" : 46, "year" : 2014 }, "totalAmount" : 0, "count" : 2 } { "_id" : { "day" : 34, "year" : 2014 }, "totalAmount" : 0, "count" : 2 } { "_id" : { "day" : 1, "year" : 2014 }, "totalAmount" : 0, "count" : 1 }
1:{ "_id" : 1, "item" : "abc", "price" : 10, "quantity" : 2, "date" : ISODate["2014-01-01T08:00:00Z"] } { "_id" : 2, "item" : "jkl", "price" : 20, "quantity" : 1, "date" : ISODate["2014-02-03T09:00:00Z"] } { "_id" : 3, "item" : "xyz", "price" : 5, "quantity" : 5, "date" : ISODate["2014-02-03T09:05:00Z"] } { "_id" : 4, "item" : "abc", "price" : 10, "quantity" : 10, "date" : ISODate["2014-02-15T08:00:00Z"] } { "_id" : 5, "item" : "xyz", "price" : 5, "quantity" : 10, "date" : ISODate["2014-02-15T09:05:00Z"] }
2 on a non-existent field returns a value of { "_id" : { "day" : 46, "year" : 2014 }, "totalAmount" : 150, "count" : 2 } { "_id" : { "day" : 34, "year" : 2014 }, "totalAmount" : 45, "count" : 2 } { "_id" : { "day" : 1, "year" : 2014 }, "totalAmount" : 20, "count" : 1 }
8. The following operation attempts to { "_id" : 1, "item" : "abc", "price" : 10, "quantity" : 2, "date" : ISODate["2014-01-01T08:00:00Z"] } { "_id" : 2, "item" : "jkl", "price" : 20, "quantity" : 1, "date" : ISODate["2014-02-03T09:00:00Z"] } { "_id" : 3, "item" : "xyz", "price" : 5, "quantity" : 5, "date" : ISODate["2014-02-03T09:05:00Z"] } { "_id" : 4, "item" : "abc", "price" : 10, "quantity" : 10, "date" : ISODate["2014-02-15T08:00:00Z"] } { "_id" : 5, "item" : "xyz", "price" : 5, "quantity" : 10, "date" : ISODate["2014-02-15T09:05:00Z"] }
2 on { "_id" : { "day" : 46, "year" : 2014 }, "totalAmount" : 0, "count" : 2 } { "_id" : { "day" : 34, "year" : 2014 }, "totalAmount" : 0, "count" : 2 } { "_id" : { "day" : 1, "year" : 2014 }, "totalAmount" : 0, "count" : 1 }
1:db.sales.aggregate[ [ { $group: { _id: { day: { $dayOfYear: "$date"}, year: { $year: "$date" } }, totalAmount: { $sum: "$qty" }, count: { $sum: 1 } } } ] ]
Hoạt động trả về:
{ "_id" : { "day" : 46, "year" : 2014 }, "totalAmount" : 0, "count" : 2 } { "_id" : { "day" : 34, "year" : 2014 }, "totalAmount" : 0, "count" : 2 } { "_id" : { "day" : 1, "year" : 2014 }, "totalAmount" : 0, "count" : 1 }
Bộ tích lũy tập hợp
{ "_id" : { "day" : 46, "year" : 2014 }, "totalAmount" : 0, "count" : 2 } { "_id" : { "day" : 34, "year" : 2014 }, "totalAmount" : 0, "count" : 2 } { "_id" : { "day" : 1, "year" : 2014 }, "totalAmount" : 0, "count" : 1 }
2 có thể được sử dụng thay cho { "_id" : { "day" : 46, "year" : 2014 }, "totalAmount" : 0, "count" : 2 } { "_id" : { "day" : 34, "year" : 2014 }, "totalAmount" : 0, "count" : 2 } { "_id" : { "day" : 1, "year" : 2014 }, "totalAmount" : 0, "count" : 1 }
3 trong giai đoạn { "_id" : 1, "item" : "abc", "price" : 10, "quantity" : 2, "date" : ISODate["2014-01-01T08:00:00Z"] } { "_id" : 2, "item" : "jkl", "price" : 20, "quantity" : 1, "date" : ISODate["2014-02-03T09:00:00Z"] } { "_id" : 3, "item" : "xyz", "price" : 5, "quantity" : 5, "date" : ISODate["2014-02-03T09:05:00Z"] } { "_id" : 4, "item" : "abc", "price" : 10, "quantity" : 10, "date" : ISODate["2014-02-15T08:00:00Z"] } { "_id" : 5, "item" : "xyz", "price" : 5, "quantity" : 10, "date" : ISODate["2014-02-15T09:05:00Z"] }
8.Mẹo
Xem thêm:
Bộ sưu tập
{ "_id" : { "day" : 46, "year" : 2014 }, "totalAmount" : 0, "count" : 2 } { "_id" : { "day" : 34, "year" : 2014 }, "totalAmount" : 0, "count" : 2 } { "_id" : { "day" : 1, "year" : 2014 }, "totalAmount" : 0, "count" : 1 }
5 chứa các tài liệu sau:{ "_id": 1, "quizzes": [ 10, 6, 7 ], "labs": [ 5, 8 ], "final": 80, "midterm": 75 } { "_id": 2, "quizzes": [ 9, 10 ], "labs": [ 8, 8 ], "final": 95, "midterm": 80 } { "_id": 3, "quizzes": [ 4, 5, 5 ], "labs": [ 6, 5 ], "final": 78, "midterm": 70 }
Ví dụ sau đây sử dụng
{ "_id" : 1, "item" : "abc", "price" : 10, "quantity" : 2, "date" : ISODate["2014-01-01T08:00:00Z"] } { "_id" : 2, "item" : "jkl", "price" : 20, "quantity" : 1, "date" : ISODate["2014-02-03T09:00:00Z"] } { "_id" : 3, "item" : "xyz", "price" : 5, "quantity" : 5, "date" : ISODate["2014-02-03T09:05:00Z"] } { "_id" : 4, "item" : "abc", "price" : 10, "quantity" : 10, "date" : ISODate["2014-02-15T08:00:00Z"] } { "_id" : 5, "item" : "xyz", "price" : 5, "quantity" : 10, "date" : ISODate["2014-02-15T09:05:00Z"] }
2 trong giai đoạn db.sales.aggregate[ [ { $group: { _id: { day: { $dayOfYear: "$date"}, year: { $year: "$date" } }, totalAmount: { $sum: { $multiply: [ "$price", "$quantity" ] } }, count: { $sum: 1 } } } ] ]
1 để tính tổng số điểm đố, tổng điểm trong phòng thí nghiệm và tổng số cuối cùng và giữa kỳ:{ "_id" : 1, "item" : "abc", "price" : 10, "quantity" : 2, "date" : ISODate["2014-01-01T08:00:00Z"] } { "_id" : 2, "item" : "jkl", "price" : 20, "quantity" : 1, "date" : ISODate["2014-02-03T09:00:00Z"] } { "_id" : 3, "item" : "xyz", "price" : 5, "quantity" : 5, "date" : ISODate["2014-02-03T09:05:00Z"] } { "_id" : 4, "item" : "abc", "price" : 10, "quantity" : 10, "date" : ISODate["2014-02-15T08:00:00Z"] } { "_id" : 5, "item" : "xyz", "price" : 5, "quantity" : 10, "date" : ISODate["2014-02-15T09:05:00Z"] }
2 in the db.sales.aggregate[ [ { $group: { _id: { day: { $dayOfYear: "$date"}, year: { $year: "$date" } }, totalAmount: { $sum: { $multiply: [ "$price", "$quantity" ] } }, count: { $sum: 1 } } } ] ]
1 stage to calculate the total quiz scores, the total lab scores, and the total of the final and the midterm:db.students.aggregate[[ { $project: { quizTotal: { $sum: "$quizzes"}, labTotal: { $sum: "$labs" }, examTotal: { $sum: [ "$final", "$midterm" ] } } } ]]
Kết quả hoạt động trong các tài liệu sau:
{ "_id" : 1, "quizTotal" : 23, "labTotal" : 13, "examTotal" : 155 } { "_id" : 2, "quizTotal" : 19, "labTotal" : 16, "examTotal" : 175 } { "_id" : 3, "quizTotal" : 14, "labTotal" : 11, "examTotal" : 148 }
Mới trong phiên bản 5.0.
Tạo một bộ sưu tập
{ "_id" : { "day" : 46, "year" : 2014 }, "totalAmount" : 0, "count" : 2 } { "_id" : { "day" : 34, "year" : 2014 }, "totalAmount" : 0, "count" : 2 } { "_id" : { "day" : 1, "year" : 2014 }, "totalAmount" : 0, "count" : 1 }
8 có chứa doanh số bán bánh ở các bang California [{ "_id" : { "day" : 46, "year" : 2014 }, "totalAmount" : 0, "count" : 2 } { "_id" : { "day" : 34, "year" : 2014 }, "totalAmount" : 0, "count" : 2 } { "_id" : { "day" : 1, "year" : 2014 }, "totalAmount" : 0, "count" : 1 }
9] và Washington [{ "_id": 1, "quizzes": [ 10, 6, 7 ], "labs": [ 5, 8 ], "final": 80, "midterm": 75 } { "_id": 2, "quizzes": [ 9, 10 ], "labs": [ 8, 8 ], "final": 95, "midterm": 80 } { "_id": 3, "quizzes": [ 4, 5, 5 ], "labs": [ 6, 5 ], "final": 78, "midterm": 70 }
0]:db.cakeSales.insertMany[ [ { _id: 0, type: "chocolate", orderDate: new Date["2020-05-18T14:10:30Z"], state: "CA", price: 13, quantity: 120 }, { _id: 1, type: "chocolate", orderDate: new Date["2021-03-20T11:30:05Z"], state: "WA", price: 14, quantity: 140 }, { _id: 2, type: "vanilla", orderDate: new Date["2021-01-11T06:31:15Z"], state: "CA", price: 12, quantity: 145 }, { _id: 3, type: "vanilla", orderDate: new Date["2020-02-08T13:13:23Z"], state: "WA", price: 13, quantity: 104 }, { _id: 4, type: "strawberry", orderDate: new Date["2019-05-18T16:09:01Z"], state: "CA", price: 41, quantity: 162 }, { _id: 5, type: "strawberry", orderDate: new Date["2019-01-08T06:12:03Z"], state: "WA", price: 43, quantity: 134 } ] ]
Ví dụ này sử dụng
{ "_id" : 1, "item" : "abc", "price" : 10, "quantity" : 2, "date" : ISODate["2014-01-01T08:00:00Z"] } { "_id" : 2, "item" : "jkl", "price" : 20, "quantity" : 1, "date" : ISODate["2014-02-03T09:00:00Z"] } { "_id" : 3, "item" : "xyz", "price" : 5, "quantity" : 5, "date" : ISODate["2014-02-03T09:05:00Z"] } { "_id" : 4, "item" : "abc", "price" : 10, "quantity" : 10, "date" : ISODate["2014-02-15T08:00:00Z"] } { "_id" : 5, "item" : "xyz", "price" : 5, "quantity" : 10, "date" : ISODate["2014-02-15T09:05:00Z"] }
2 trong giai đoạn db.sales.aggregate[ [ { $group: { _id: { day: { $dayOfYear: "$date"}, year: { $year: "$date" } }, totalAmount: { $sum: { $multiply: [ "$price", "$quantity" ] } }, count: { $sum: 1 } } } ] ]
5 để xuất tổng số { "_id": 1, "quizzes": [ 10, 6, 7 ], "labs": [ 5, 8 ], "final": 80, "midterm": 75 } { "_id": 2, "quizzes": [ 9, 10 ], "labs": [ 8, 8 ], "final": 95, "midterm": 80 } { "_id": 3, "quizzes": [ 4, 5, 5 ], "labs": [ 6, 5 ], "final": 78, "midterm": 70 }
3 của bánh được bán trong mỗi { "_id": 1, "quizzes": [ 10, 6, 7 ], "labs": [ 5, 8 ], "final": 80, "midterm": 75 } { "_id": 2, "quizzes": [ 9, 10 ], "labs": [ 8, 8 ], "final": 95, "midterm": 80 } { "_id": 3, "quizzes": [ 4, 5, 5 ], "labs": [ 6, 5 ], "final": 78, "midterm": 70 }
4:{ "_id" : 1, "item" : "abc", "price" : 10, "quantity" : 2, "date" : ISODate["2014-01-01T08:00:00Z"] } { "_id" : 2, "item" : "jkl", "price" : 20, "quantity" : 1, "date" : ISODate["2014-02-03T09:00:00Z"] } { "_id" : 3, "item" : "xyz", "price" : 5, "quantity" : 5, "date" : ISODate["2014-02-03T09:05:00Z"] } { "_id" : 4, "item" : "abc", "price" : 10, "quantity" : 10, "date" : ISODate["2014-02-15T08:00:00Z"] } { "_id" : 5, "item" : "xyz", "price" : 5, "quantity" : 10, "date" : ISODate["2014-02-15T09:05:00Z"] }
2 in the
db.sales.aggregate[ [ { $group: { _id: { day: { $dayOfYear: "$date"}, year: { $year: "$date" } }, totalAmount: { $sum: { $multiply: [ "$price", "$quantity" ] } }, count: { $sum: 1 } } } ] ]
5 stage to output the sum of the { "_id": 1, "quizzes": [ 10, 6, 7 ], "labs": [ 5, 8 ], "final": 80, "midterm": 75 } { "_id": 2, "quizzes": [ 9, 10 ], "labs": [ 8, 8 ], "final": 95, "midterm": 80 } { "_id": 3, "quizzes": [ 4, 5, 5 ], "labs": [ 6, 5 ], "final": 78, "midterm": 70 }
3 of cakes sold in each { "_id": 1, "quizzes": [ 10, 6, 7 ], "labs": [ 5, 8 ], "final": 80, "midterm": 75 } { "_id": 2, "quizzes": [ 9, 10 ], "labs": [ 8, 8 ], "final": 95, "midterm": 80 } { "_id": 3, "quizzes": [ 4, 5, 5 ], "labs": [ 6, 5 ], "final": 78, "midterm": 70 }
4:{ "_id" : 1, "item" : "abc", "price" : 10, "quantity" : 2, "date" : ISODate["2014-01-01T08:00:00Z"] } { "_id" : 2, "item" : "jkl", "price" : 20, "quantity" : 1, "date" : ISODate["2014-02-03T09:00:00Z"] } { "_id" : 3, "item" : "xyz", "price" : 5, "quantity" : 5, "date" : ISODate["2014-02-03T09:05:00Z"] } { "_id" : 4, "item" : "abc", "price" : 10, "quantity" : 10, "date" : ISODate["2014-02-15T08:00:00Z"] } { "_id" : 5, "item" : "xyz", "price" : 5, "quantity" : 10, "date" : ISODate["2014-02-15T09:05:00Z"] }
0Trong ví dụ:
5 Phân vùng các tài liệu trong bộ sưu tập của{ "_id": 1, "quizzes": [ 10, 6, 7 ], "labs": [ 5, 8 ], "final": 80, "midterm": 75 } { "_id": 2, "quizzes": [ 9, 10 ], "labs": [ 8, 8 ], "final": 95, "midterm": 80 } { "_id": 3, "quizzes": [ 4, 5, 5 ], "labs": [ 6, 5 ], "final": 78, "midterm": 70 }
4. Có các phân vùng cho{ "_id": 1, "quizzes": [ 10, 6, 7 ], "labs": [ 5, 8 ], "final": 80, "midterm": 75 } { "_id": 2, "quizzes": [ 9, 10 ], "labs": [ 8, 8 ], "final": 95, "midterm": 80 } { "_id": 3, "quizzes": [ 4, 5, 5 ], "labs": [ 6, 5 ], "final": 78, "midterm": 70 }
9 và{ "_id" : { "day" : 46, "year" : 2014 }, "totalAmount" : 0, "count" : 2 } { "_id" : { "day" : 34, "year" : 2014 }, "totalAmount" : 0, "count" : 2 } { "_id" : { "day" : 1, "year" : 2014 }, "totalAmount" : 0, "count" : 1 }
0.{ "_id": 1, "quizzes": [ 10, 6, 7 ], "labs": [ 5, 8 ], "final": 80, "midterm": 75 } { "_id": 2, "quizzes": [ 9, 10 ], "labs": [ 8, 8 ], "final": 95, "midterm": 80 } { "_id": 3, "quizzes": [ 4, 5, 5 ], "labs": [ 6, 5 ], "final": 78, "midterm": 70 }
9 sắp xếp các tài liệu trong mỗi phân vùng theo{ "_id": 1, "quizzes": [ 10, 6, 7 ], "labs": [ 5, 8 ], "final": 80, "midterm": 75 } { "_id": 2, "quizzes": [ 9, 10 ], "labs": [ 8, 8 ], "final": 95, "midterm": 80 } { "_id": 3, "quizzes": [ 4, 5, 5 ], "labs": [ 6, 5 ], "final": 78, "midterm": 70 }
0 theo thứ tự tăng dần [db.students.aggregate[[ { $project: { quizTotal: { $sum: "$quizzes"}, labTotal: { $sum: "$labs" }, examTotal: { $sum: [ "$final", "$midterm" ] } } } ]]
1], vì vậydb.students.aggregate[[ { $project: { quizTotal: { $sum: "$quizzes"}, labTotal: { $sum: "$labs" }, examTotal: { $sum: [ "$final", "$midterm" ] } } } ]]
0 sớm nhất là đầu tiên.db.students.aggregate[[ { $project: { quizTotal: { $sum: "$quizzes"}, labTotal: { $sum: "$labs" }, examTotal: { $sum: [ "$final", "$midterm" ] } } } ]]
3 Đặt trườngdb.students.aggregate[[ { $project: { quizTotal: { $sum: "$quizzes"}, labTotal: { $sum: "$labs" }, examTotal: { $sum: [ "$final", "$midterm" ] } } } ]]
4 thành tổng của các giá trịdb.students.aggregate[[ { $project: { quizTotal: { $sum: "$quizzes"}, labTotal: { $sum: "$labs" }, examTotal: { $sum: [ "$final", "$midterm" ] } } } ]]
3 bằng cách sử dụng{ "_id": 1, "quizzes": [ 10, 6, 7 ], "labs": [ 5, 8 ], "final": 80, "midterm": 75 } { "_id": 2, "quizzes": [ 9, 10 ], "labs": [ 8, 8 ], "final": 95, "midterm": 80 } { "_id": 3, "quizzes": [ 4, 5, 5 ], "labs": [ 6, 5 ], "final": 78, "midterm": 70 }
2 được chạy trong cửa sổ tài liệu.{ "_id" : 1, "item" : "abc", "price" : 10, "quantity" : 2, "date" : ISODate["2014-01-01T08:00:00Z"] } { "_id" : 2, "item" : "jkl", "price" : 20, "quantity" : 1, "date" : ISODate["2014-02-03T09:00:00Z"] } { "_id" : 3, "item" : "xyz", "price" : 5, "quantity" : 5, "date" : ISODate["2014-02-03T09:05:00Z"] } { "_id" : 4, "item" : "abc", "price" : 10, "quantity" : 10, "date" : ISODate["2014-02-15T08:00:00Z"] } { "_id" : 5, "item" : "xyz", "price" : 5, "quantity" : 10, "date" : ISODate["2014-02-15T09:05:00Z"] }
2 that is run in a documents window.{ "_id" : 1, "item" : "abc", "price" : 10, "quantity" : 2, "date" : ISODate["2014-01-01T08:00:00Z"] } { "_id" : 2, "item" : "jkl", "price" : 20, "quantity" : 1, "date" : ISODate["2014-02-03T09:00:00Z"] } { "_id" : 3, "item" : "xyz", "price" : 5, "quantity" : 5, "date" : ISODate["2014-02-03T09:05:00Z"] } { "_id" : 4, "item" : "abc", "price" : 10, "quantity" : 10, "date" : ISODate["2014-02-15T08:00:00Z"] } { "_id" : 5, "item" : "xyz", "price" : 5, "quantity" : 10, "date" : ISODate["2014-02-15T09:05:00Z"] } Cửa sổ chứa các tài liệu giữa giới hạn dưới
7 và tài liệudb.students.aggregate[[ { $project: { quizTotal: { $sum: "$quizzes"}, labTotal: { $sum: "$labs" }, examTotal: { $sum: [ "$final", "$midterm" ] } } } ]]
8 trong đầu ra. Điều này có nghĩa làdb.students.aggregate[[ { $project: { quizTotal: { $sum: "$quizzes"}, labTotal: { $sum: "$labs" }, examTotal: { $sum: [ "$final", "$midterm" ] } } } ]]
2 trả về tổng của các giá trị{ "_id" : 1, "item" : "abc", "price" : 10, "quantity" : 2, "date" : ISODate["2014-01-01T08:00:00Z"] } { "_id" : 2, "item" : "jkl", "price" : 20, "quantity" : 1, "date" : ISODate["2014-02-03T09:00:00Z"] } { "_id" : 3, "item" : "xyz", "price" : 5, "quantity" : 5, "date" : ISODate["2014-02-03T09:05:00Z"] } { "_id" : 4, "item" : "abc", "price" : 10, "quantity" : 10, "date" : ISODate["2014-02-15T08:00:00Z"] } { "_id" : 5, "item" : "xyz", "price" : 5, "quantity" : 10, "date" : ISODate["2014-02-15T09:05:00Z"] }
3 cho các tài liệu giữa đầu phân vùng và tài liệu hiện tại.{ "_id": 1, "quizzes": [ 10, 6, 7 ], "labs": [ 5, 8 ], "final": 80, "midterm": 75 } { "_id": 2, "quizzes": [ 9, 10 ], "labs": [ 8, 8 ], "final": 95, "midterm": 80 } { "_id": 3, "quizzes": [ 4, 5, 5 ], "labs": [ 6, 5 ], "final": 78, "midterm": 70 }
2 returns the sum of the{ "_id" : 1, "item" : "abc", "price" : 10, "quantity" : 2, "date" : ISODate["2014-01-01T08:00:00Z"] } { "_id" : 2, "item" : "jkl", "price" : 20, "quantity" : 1, "date" : ISODate["2014-02-03T09:00:00Z"] } { "_id" : 3, "item" : "xyz", "price" : 5, "quantity" : 5, "date" : ISODate["2014-02-03T09:05:00Z"] } { "_id" : 4, "item" : "abc", "price" : 10, "quantity" : 10, "date" : ISODate["2014-02-15T08:00:00Z"] } { "_id" : 5, "item" : "xyz", "price" : 5, "quantity" : 10, "date" : ISODate["2014-02-15T09:05:00Z"] }
3 values for the documents between the beginning of the partition and the current document.{ "_id": 1, "quizzes": [ 10, 6, 7 ], "labs": [ 5, 8 ], "final": 80, "midterm": 75 } { "_id": 2, "quizzes": [ 9, 10 ], "labs": [ 8, 8 ], "final": 95, "midterm": 80 } { "_id": 3, "quizzes": [ 4, 5, 5 ], "labs": [ 6, 5 ], "final": 78, "midterm": 70 }
Trong đầu ra này, tổng của các giá trị
{ "_id": 1, "quizzes": [ 10, 6, 7 ], "labs": [ 5, 8 ], "final": 80, "midterm": 75 } { "_id": 2, "quizzes": [ 9, 10 ], "labs": [ 8, 8 ], "final": 95, "midterm": 80 } { "_id": 3, "quizzes": [ 4, 5, 5 ], "labs": [ 6, 5 ], "final": 78, "midterm": 70 }
3 cho { "_id" : { "day" : 46, "year" : 2014 }, "totalAmount" : 0, "count" : 2 } { "_id" : { "day" : 34, "year" : 2014 }, "totalAmount" : 0, "count" : 2 } { "_id" : { "day" : 1, "year" : 2014 }, "totalAmount" : 0, "count" : 1 }
9 và { "_id": 1, "quizzes": [ 10, 6, 7 ], "labs": [ 5, 8 ], "final": 80, "midterm": 75 } { "_id": 2, "quizzes": [ 9, 10 ], "labs": [ 8, 8 ], "final": 95, "midterm": 80 } { "_id": 3, "quizzes": [ 4, 5, 5 ], "labs": [ 6, 5 ], "final": 78, "midterm": 70 }
0 được hiển thị trong trường db.students.aggregate[[ { $project: { quizTotal: { $sum: "$quizzes"}, labTotal: { $sum: "$labs" }, examTotal: { $sum: [ "$final", "$midterm" ] } } } ]]
4:
{ "_id" : 1, "item" : "abc", "price" : 10, "quantity" : 2, "date" : ISODate["2014-01-01T08:00:00Z"] } { "_id" : 2, "item" : "jkl", "price" : 20, "quantity" : 1, "date" : ISODate["2014-02-03T09:00:00Z"] } { "_id" : 3, "item" : "xyz", "price" : 5, "quantity" : 5, "date" : ISODate["2014-02-03T09:05:00Z"] } { "_id" : 4, "item" : "abc", "price" : 10, "quantity" : 10, "date" : ISODate["2014-02-15T08:00:00Z"] } { "_id" : 5, "item" : "xyz", "price" : 5, "quantity" : 10, "date" : ISODate["2014-02-15T09:05:00Z"] }
1