Hướng dẫn mongodb combine two queries - mongodb kết hợp hai truy vấn
Tôi muốn phân chia các truy vấn dài của mình bằng MongoDB thay vào đó sử dụng db.users.find (q) trong mã sau, tôi muốn sử dụng phiên bản concatenate như db.users.find (q0+q1) hoặc bất kỳ cách nào khác mà Tôi có thể chia q thành hai truy vấn Show
Nội dung chính ShowShow
Làm thế nào để tôi làm một cái gì đó như vậy? Hỏi ngày 13 tháng 12 năm 2012 lúc 16:04Dec 13, 2012 at 16:04Dec 13, 2012 at 16:04 2 Các điều khoản của bạn có phần mơ hồ ở đó (cả 3 và 4 của bạn đều là các đối tượng trống), nhưng bạn có thể muốn người vận hành $ hoặc toán tử
Điều này sẽ trả lại sự kết hợp của hai truy vấn đó. Điều đó nói rằng, tùy thuộc vào những gì bạn thực sự muốn làm, bạn có thể sử dụng 5 với một loạt các giá trị để tìm kiếm cho mỗi trường, nếu bạn chỉ muốn tìm kiếm trên nhiều giá trị.Đã trả lời ngày 13 tháng 12 năm 2012 lúc 16:09Dec 13, 2012 at 16:09Dec 13, 2012 at 16:09 Chris Healdchris HealdChris HealdChris Heald 59,9k10 Huy hiệu vàng119 Huy hiệu bạc133 Huy hiệu đồng10 gold badges119 silver badges133 bronze badges10 gold badges119 silver badges133 bronze badges 4 Tài liệu về nhà → Hướng dẫn sử dụng MongoDB → MongoDB Manual → MongoDB Manual Ghi chúTrang này mô tả giai đoạn 6, đưa ra kết quả đường ống tổng hợp cho một bộ sưu tập. Đối với toán tử 7, hợp nhất các tài liệu vào một tài liệu, xem 7 6 stage, which outputs the aggregation pipeline results to a collection. For the 7 operator, which merges documents into a single document, see 7 6 stage, which
outputs the aggregation pipeline results to a collection. For the 7 operator, which merges documents into a single document, see 7 6 viết kết quả của đường ống tổng hợp cho một bộ sưu tập được chỉ định. Nhà điều hành 6 phải là giai đoạn cuối cùng trong đường ống.Writes the results of the aggregation pipeline to a specified collection. The 6 operator must be the last stage in the pipeline. 6 operator must be the last stage in the pipeline.Giai đoạn 6: 6 stage: 6 stage:
Để so sánh với giai đoạn 0 cũng đưa ra kết quả tổng hợp vào một bộ sưu tập, xem so sánh 6 và 0. 6 and 0 Comparison. 6 and 0 Comparison.Ghi chúTrang này mô tả giai đoạn $merge, đưa ra kết quả đường ống tổng hợp cho một bộ sưu tập. Đối với toán tử $mergeObjects, hợp nhất các tài liệu vào một tài liệu, xem $mergeObjectsTrang này mô tả giai đoạn Giai đoạn 6:Có thể xuất vào một bộ sưu tập trong cùng một cơ sở dữ liệu hoặc khác nhau. Bắt đầu từ MongoDB 4.4: has the following syntax: has the following syntax:
6 có thể đầu ra cho cùng một bộ sưu tập đang được tổng hợp. Để biết thêm thông tin, hãy xem đầu ra cho cùng một bộ sưu tập đang được tổng hợp.
Các đường ống với giai đoạn 6 có thể chạy trên các nút thứ cấp đặt bản sao nếu tất cả các nút trong cụm có tính năng tương tự featureCompitionVersion được đặt thành 6 hoặc cao hơn và sở thích đọc cho phép đọc thứ cấp. 6, including writing to a collection in the same database, you can use the simplified form: 0 6, including writing to a collection in the same
database, you can use the simplified form: 0 6 lấy một tài liệu với các trường sau: 6 takes a document with the following fields: 6 takes a document with the following fields:
trên Không bắt buộc. Trường hoặc các trường hoạt động như một định danh duy nhất cho một tài liệu. Mã định danh xác định xem tài liệu kết quả có khớp với một tài liệu hiện có trong bộ sưu tập đầu ra hay không. Chỉ định một trong hai:matches an existing document in the output collection. Specify either:matches an existing document in the output collection. Specify either:
Đối với trường hoặc trường được chỉ định:
3 làm khóa của nó. requires a unique, index with keys that correspond to the on identifier fields. Although the order of the index key specification does not matter, the unique index must only contain the on identifier fields. Although the order of the index key specification does not matter, the unique index must only contain the 3 fields as its keys.
Giá trị mặc định cho trên phụ thuộc vào bộ sưu tập đầu ra:on depends on the output collection:on depends on the output collection:
Để sử dụng (các) trường định danh khác cho một bộ sưu tập không tồn tại, bạn có thể tạo bộ sưu tập trước bằng cách tạo một chỉ mục duy nhất trên (các) trường mong muốn. Xem phần về bộ sưu tập đầu ra không tồn tại để biết ví dụ.on identifier field(s) for a collection that does not exist, you can create the collection first by creating a unique index on the desired field(s). See the section on non-existent output collection for an example.on identifier field(s) for a collection that does not exist, you can create the collection first by creating a unique index on the desired field(s). See the section on non-existent output collection for an example. Nếu bộ sưu tập đầu ra hiện có không được đặt, định danh 3 mặc định cho trường 5.Nếu bộ sưu tập đầu ra hiện có là một bộ sưu tập Sharded, định danh trên mặc định cho tất cả các trường khóa Shard và trường 5. Nếu chỉ định một định danh 3 khác nhau, 3 phải chứa tất cả các trường khóa Shard.on identifier defaults to all the shard key fields and the 5 field. If specifying a different 3 identifier, the 3 must contain all the shard key fields.on identifier defaults to all the shard key fields and the 5 field. If specifying a different 3 identifier, the 3 must contain all the shard key fields.khi nào Không bắt buộc. Hành vi của 6 nếu một tài liệu kết quả và một tài liệu hiện có trong bộ sưu tập có cùng giá trị cho (các) trường được chỉ định. 6 if a result document and an existing document in the collection have the same value for the specified on field(s). 6 if a result document and an
existing document in the collection have the same value for the specified on field(s).Bạn có thể chỉ định:
"keepExisting" Giữ tài liệu hiện có trong bộ sưu tập đầu ra.output collection.output collection. "Hợp nhất" (mặc định) (Default) (Default) Hợp nhất các tài liệu phù hợp (tương tự như toán tử 7).
Ví dụ: nếu bộ sưu tập đầu ra có tài liệu: 32Và kết quả tổng hợp có tài liệu: 33Sau đó, tài liệu được hợp nhất là: 34Khi thực hiện hợp nhất, tài liệu được hợp nhất không thể dẫn đến việc sửa đổi giá trị 5 hoặc, nếu bộ sưu tập đầu ra bị chia cắt, giá trị khóa của Shard. Nếu không, thao tác tạo ra một lỗi.MẹoĐể tránh lỗi này, nếu trường trên không bao gồm trường 5, hãy xóa trường 5 trong kết quả tổng hợp để tránh lỗi, chẳng hạn như với giai đoạn 30 trước đó, v.v.on field does not include the 5 field, remove the 5 field in the aggregation results to avoid the error, such as with a preceding 30 stage, and so on. on field does not include the 5 field, remove the 5 field in the aggregation results to avoid the error, such as with a preceding 30 stage, and so on. Giữ tài liệu hiện có trong bộ sưu tập đầu ra.output collection."Hợp nhất" (mặc định) (Default)you can perform a left outer join by using the $lookup stage. The $lookup stage lets you specify which collection you want to join with the current collection, and which fields that should match. Hợp nhất các tài liệu phù hợp (tương tự như toán tử { $merge: { into: |