Tài liệu về nhà → Hướng dẫn sử dụng MongoDB → MongoDB Manual
aggregate
Performs Hoạt động tổng hợp bằng cách sử dụng đường ống tổng hợp. Đường ống cho phép người dùng xử lý dữ liệu từ một bộ sưu tập hoặc nguồn khác với một chuỗi các thao tác dựa trên giai đoạn.Performs aggregation operation using the aggregation pipeline. The pipeline allows users to process data from a collection or other source with a sequence of stage-based manipulations.
Mẹo
Trong mongosh
, lệnh này cũng có thể được chạy thông qua các phương thức trợ giúp db.aggregate[]
và db.collection.aggregate[]
hoặc bằng phương pháp trợ giúp watch[]
.mongosh
, this command can
also be run through the db.aggregate[]
and db.collection.aggregate[]
helper methods or with the watch[]
helper
method.
Các phương thức trợ giúp thuận tiện cho người dùng mongosh
, nhưng chúng có thể không trả lại mức thông tin tương tự như các lệnh cơ sở dữ liệu. Trong trường hợp không cần thiết sự thuận tiện hoặc các trường trả về bổ sung được yêu cầu, hãy sử dụng lệnh cơ sở dữ liệu.mongosh
users, but they may not return the same level of information as database commands. In cases where the convenience is not needed or the additional return fields are required, use the database command.
Đã thay đổi trong phiên bản 5.0.
Lệnh có cú pháp sau:
db.runCommand[ { aggregate: "" || 1, pipeline: [ , ], explain: , allowDiskUse: , cursor: , maxTimeMS: , bypassDocumentValidation: , readConcern: , collation: , hint: , comment: , writeConcern: , let: // Added in MongoDB 5.0 } ]
Lệnh aggregate
lấy các trường sau làm đối số:aggregate
command takes the following fields as arguments:
| sợi dây | Tên của bộ sưu tập hoặc xem đóng vai trò là đầu vào cho đường ống tổng hợp. Sử dụng | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| mảng | Một mảng các giai đoạn đường ống tổng hợp xử lý và chuyển đổi luồng tài liệu như một phần của đường ống tổng hợp. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| boolean | Không bắt buộc. Chỉ định để trả về thông tin về việc xử lý đường ống. Không có sẵn trong các giao dịch đa tài liệu. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
4
| boolean | Optional. Sử dụng tùy chọn này để ghi đè 5 cho một truy vấn cụ thể. Bạn có thể sử dụng tùy chọn này để:
Bắt đầu từ MongoDB 6.0, nếu 5 được đặt thành 7 và máy chủ yêu cầu hơn 100 megabyte bộ nhớ cho giai đoạn thực hiện đường ống, MongoDB sẽ tự động ghi các tệp tạm thời vào đĩa trừ khi truy vấn chỉ định 8.Để biết chi tiết, xem 5Bắt đầu từ MongoDB 4.2, thông báo nhật ký hồ sơ và thông báo nhật ký chẩn đoán bao gồm chỉ báo 0 nếu bất kỳ giai đoạn tổng hợp nào viết dữ liệu vào các tệp tạm thời do hạn chế bộ nhớ.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| tài liệu | Chỉ định một tài liệu có chứa các tùy chọn kiểm soát việc tạo đối tượng con trỏ. Đã thay đổi trong phiên bản 3.6: MongoDB 3.6 Loại bỏ việc sử dụng lệnh 1 trừ khi lệnh bao gồm tùy chọn 3. Trừ khi bạn bao gồm tùy chọn 3, bạn phải chỉ định tùy chọn con trỏ.without the 1 option unless the command includes the 3 option. Unless you include the 3 option, you must specify the cursor
option.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Số nguyên không âm | Không bắt buộc. Chỉ định giới hạn thời gian tính bằng mili giây để xử lý hoạt động trên con trỏ. Nếu bạn không chỉ định giá trị cho MaxTimems, các hoạt động sẽ không hết thời gian. Giá trị của 9 chỉ định rõ ràng hành vi không giới hạn mặc định.MongoDB chấm dứt các hoạt động vượt quá giới hạn thời gian được phân bổ của chúng bằng cách sử dụng cùng một cơ chế như | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| boolean | Không bắt buộc. Chỉ áp dụng nếu bạn chỉ định các giai đoạn tổng hợp Cho phép | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| tài liệu | Chỉ định một tài liệu có chứa các tùy chọn kiểm soát việc tạo đối tượng con trỏ. Đã thay đổi trong phiên bản 3.6: MongoDB 3.6 Loại bỏ việc sử dụng lệnh 1 trừ khi lệnh bao gồm tùy chọn 3. Trừ khi bạn bao gồm tùy chọn 3, bạn phải chỉ định tùy chọn con trỏ.Để chỉ ra một con trỏ với kích thước lô mặc định, chỉ định 6.
Không bắt buộc. Chỉ áp dụng nếu bạn chỉ định các giai đoạn tổng hợp Cho phép Không bắt buộc. Chỉ định mối quan tâm đọc. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| tài liệu | Optional. Chỉ định một tài liệu có chứa các tùy chọn kiểm soát việc tạo đối tượng con trỏ. Đã thay đổi trong phiên bản 3.6: MongoDB 3.6 Loại bỏ việc sử dụng lệnh 1 trừ khi lệnh bao gồm tùy chọn 3. Trừ khi bạn bao gồm tùy chọn 3, bạn phải chỉ định tùy chọn con trỏ.Để chỉ ra một con trỏ với kích thước lô mặc định, chỉ định 6.
Để chỉ ra một con trỏ với kích thước lô không mặc định, hãy sử dụng 7.Nếu đối chiếu không được xác định nhưng bộ sưu tập có một đối chiếu mặc định [xem Nếu không có đối chiếu được chỉ định cho bộ sưu tập hoặc cho các hoạt động, MongoDB sử dụng so sánh nhị phân đơn giản được sử dụng trong các phiên bản trước để so sánh chuỗi. Bạn không thể chỉ định nhiều đối chiếu cho một hoạt động. Ví dụ: bạn không thể chỉ định các đối chiếu khác nhau trên mỗi trường hoặc nếu thực hiện tìm thấy với một loại, bạn không thể sử dụng một đối chiếu cho tìm và một đối với loại khác. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| chuỗi hoặc tài liệu | Không bắt buộc. Chỉ số để sử dụng cho tập hợp. Chỉ mục nằm trên bộ sưu tập/chế độ xem ban đầu mà tập hợp được chạy. Chỉ định chỉ mục bằng tên chỉ mục hoặc bởi tài liệu đặc tả chỉ mục. Ghi chú
|
db.collection.aggregate[]
1
không tí nào
Optional.
Một nhận xét do người dùng cung cấp để đính kèm vào lệnh này. Sau khi được đặt, nhận xét này xuất hiện cùng với các bản ghi của lệnh này ở các vị trí sau:
Tin nhắn nhật ký Mongod, trong trường
db.collection.aggregate[]
2.Đầu ra hồ sơ cơ sở dữ liệu, trong trường
db.collection.aggregate[]
3.Đầu ra
db.collection.aggregate[]
4, trong trườngdb.collection.aggregate[]
3.
Một nhận xét có thể là bất kỳ loại BSON hợp lệ [chuỗi, số nguyên, đối tượng, mảng, v.v.].
Ghi chú
db.aggregate[]
7 không áp dụng cho các giai đoạn db.aggregate[]
9 và db.collection.aggregate[]
0.aggregate
command is inherited by any subsequent
db.collection.aggregate[]
7 commands running with the same db.collection.aggregate[]
8 returned from the aggregate
command.
không tí nào
watch[]
0
tài liệu
Không bắt buộc.Một tài liệu thể hiện mối quan tâm ghi để sử dụng với giai đoạn aggregate
2 hoặc aggregate
3.
Bỏ qua để sử dụng mối quan tâm ghi mặc định với giai đoạn aggregate
2 hoặc aggregate
3.
watch[]
5
tài liệu
Optional.
Chỉ định một tài liệu với một danh sách các biến.Điều này cho phép bạn cải thiện khả năng đọc lệnh bằng cách tách các biến khỏi văn bản truy vấn.
Cú pháp tài liệu là:
{ : , ..., : }
Biến được đặt thành giá trị được trả về bởi biểu thức và không thể thay đổi sau đó.
Để truy cập giá trị của một biến trong lệnh, hãy sử dụng tiền tố dấu hiệu đô la kép [watch[]
6] cùng với tên biến của bạn trong Mẫu watch[]
7.Ví dụ: watch[]
8.
Ghi chú
Để sử dụng một biến để lọc kết quả trong giai đoạn watch[]
9 đường ống, bạn phải truy cập biến trong toán tử mongosh
0.