Hướng dẫn mongodb aggregate nocursortimeout - mongodb tổng hợp nocursorttimeout

Tài liệu về nhà → Hướng dẫn sử dụng MongoDBMongoDB Manual

Show
    aggregatePerforms 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.
    Hướng dẫn mongodb aggregate nocursortimeout - mongodb tổng hợp nocursorttimeout

    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()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: <document>,
    maxTimeMS: ,
    bypassDocumentValidation: ,
    readConcern: <document>,
    collation: <document>,
    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:

    Đồng ruộng

    Loại hình

    Sự mô tả

    aggregate

    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

    collation: {
    locale: ,
    caseLevel: ,
    caseFirst: ,
    strength: ,
    numericOrdering: ,
    alternate: ,
    maxVariable: ,
    backwards:
    }
    1 để thu thập các lệnh bất khả tri.

    collation: {
    locale: ,
    caseLevel: ,
    caseFirst: ,
    strength: ,
    numericOrdering: ,
    alternate: ,
    maxVariable: ,
    backwards:
    }
    2

    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.

    collation: {
    locale: ,
    caseLevel: ,
    caseFirst: ,
    strength: ,
    numericOrdering: ,
    alternate: ,
    maxVariable: ,
    backwards:
    }
    3

    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.

    collation: {
    locale: ,
    caseLevel: ,
    caseFirst: ,
    strength: ,
    numericOrdering: ,
    alternate: ,
    maxVariable: ,
    backwards:
    }
    4

    boolean

    Optional.

    Sử dụng tùy chọn này để ghi đè

    collation: {
    locale: ,
    caseLevel: ,
    caseFirst: ,
    strength: ,
    numericOrdering: ,
    alternate: ,
    maxVariable: ,
    backwards:
    }
    5 cho một truy vấn cụ thể. Bạn có thể sử dụng tùy chọn này để:

    • Việc sử dụng đĩa cấm trên một hệ thống nơi sử dụng đĩa được cho phép theo mặc định.

    • Cho phép sử dụng đĩa trên một hệ thống nơi sử dụng đĩa bị cấm theo mặc định.

    Bắt đầu từ MongoDB 6.0, nếu

    collation: {
    locale: ,
    caseLevel: ,
    caseFirst: ,
    strength: ,
    numericOrdering: ,
    alternate: ,
    maxVariable: ,
    backwards:
    }
    5 được đặt thành
    collation: {
    locale: ,
    caseLevel: ,
    caseFirst: ,
    strength: ,
    numericOrdering: ,
    alternate: ,
    maxVariable: ,
    backwards:
    }
    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
    collation: {
    locale: ,
    caseLevel: ,
    caseFirst: ,
    strength: ,
    numericOrdering: ,
    alternate: ,
    maxVariable: ,
    backwards:
    }
    8.

    Để biết chi tiết, xem

    collation: {
    locale: ,
    caseLevel: ,
    caseFirst: ,
    strength: ,
    numericOrdering: ,
    alternate: ,
    maxVariable: ,
    backwards:
    }
    5

    Bắ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ớ.

    { : ,
    ...,
    : }
    1

    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 aggregate mà không có tùy chọn

    { : ,
    ...,
    : }
    1 trừ khi lệnh bao gồm tùy chọn
    collation: {
    locale: ,
    caseLevel: ,
    caseFirst: ,
    strength: ,
    numericOrdering: ,
    alternate: ,
    maxVariable: ,
    backwards:
    }
    3. Trừ khi bạn bao gồm tùy chọn
    collation: {
    locale: ,
    caseLevel: ,
    caseFirst: ,
    strength: ,
    numericOrdering: ,
    alternate: ,
    maxVariable: ,
    backwards:
    }
    3, bạn phải chỉ định tùy chọn con trỏ.without the
    { : ,
    ...,
    : }
    1 option unless the command includes the
    collation: {
    locale: ,
    caseLevel: ,
    caseFirst: ,
    strength: ,
    numericOrdering: ,
    alternate: ,
    maxVariable: ,
    backwards:
    }
    3 option. Unless you include the
    collation: {
    locale: ,
    caseLevel: ,
    caseFirst: ,
    strength: ,
    numericOrdering: ,
    alternate: ,
    maxVariable: ,
    backwards:
    }
    3 option, you must specify the cursor option.

    • Để 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.

    { : ,
    ...,
    : }
    8

    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ư aggregate0. MongoDB chỉ chấm dứt một hoạt động tại một trong những điểm ngắt được chỉ định của nó.

    aggregate1

    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 aggregate2 hoặc aggregate3.

    Cho phép aggregate bỏ qua xác thực tài liệu trong quá trình hoạt động. Điều này cho phép bạn chèn các tài liệu không đáp ứng các yêu cầu xác nhận.aggregate to bypass document validation during the operation. This lets you insert documents that do not meet the validation requirements.

    aggregate5

    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 aggregate mà không có tùy chọn

    { : ,
    ...,
    : }
    1 trừ khi lệnh bao gồm tùy chọn
    collation: {
    locale: ,
    caseLevel: ,
    caseFirst: ,
    strength: ,
    numericOrdering: ,
    alternate: ,
    maxVariable: ,
    backwards:
    }
    3. Trừ khi bạn bao gồm tùy chọn
    collation: {
    locale: ,
    caseLevel: ,
    caseFirst: ,
    strength: ,
    numericOrdering: ,
    alternate: ,
    maxVariable: ,
    backwards:
    }
    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.

    • 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ư aggregate0. MongoDB chỉ chấm dứt một hoạt động tại một trong những điểm ngắt được chỉ định của nó.

    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 aggregate2 hoặc aggregate3.

    Cho phép aggregate bỏ qua xác thực tài liệu trong quá trình hoạt động. Điều này cho phép bạn chèn các tài liệu không đáp ứng các yêu cầu xác nhận.

    Không bắt buộc. Chỉ định mối quan tâm đọc.

    db.aggregate()4

    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 aggregate mà không có tùy chọn

    { : ,
    ...,
    : }
    1 trừ khi lệnh bao gồm tùy chọn
    collation: {
    locale: ,
    caseLevel: ,
    caseFirst: ,
    strength: ,
    numericOrdering: ,
    alternate: ,
    maxVariable: ,
    backwards:
    }
    3. Trừ khi bạn bao gồm tùy chọn
    collation: {
    locale: ,
    caseLevel: ,
    caseFirst: ,
    strength: ,
    numericOrdering: ,
    alternate: ,
    maxVariable: ,
    backwards:
    }
    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.

    collation: {
    locale: ,
    caseLevel: ,
    caseFirst: ,
    strength: ,
    numericOrdering: ,
    alternate: ,
    maxVariable: ,
    backwards:
    }

    Để 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 db.aggregate()6), thao tác sử dụng đối chiếu được chỉ định cho bộ sưu tập.

    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.

    db.aggregate()7

    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.aggregate()7 không áp dụng cho các giai đoạn db.aggregate()9 và db.collection.aggregate()0.

    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ường db.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 aggregate2 hoặc aggregate3.

    Bỏ qua để sử dụng mối quan tâm ghi mặc định với giai đoạn aggregate2 hoặc aggregate3.

    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ử mongosh0.