Hướng dẫn how do i merge two arrays in mongodb aggregate? - làm cách nào để hợp nhất hai mảng trong mongodb tổng hợp?
Tài liệu về nhà → Hướng dẫn sử dụng MongoDB → MongoDB Manual Show
1
Các mảng Concatenates để trả lại mảng được nối.
Các biểu thức 3 có thể là bất kỳ biểu thức hợp lệ nào miễn là chúng giải quyết thành một mảng. Để biết thêm thông tin về biểu thức, xem biểu thức.Nếu bất kỳ đối số nào giải quyết được giá trị 4 hoặc đề cập đến một trường bị thiếu, 1 trả về 4. 1 returns 4.
Một bộ sưu tập có tên 7 chứa các tài liệu sau:
Ví dụ sau đây kết hợp các mảng 8 và 9:
MẹoXem thêm:Tài liệu về nhà → Hướng dẫn sử dụng MongoDB → MongoDB Manual Ghi chúTrang này mô tả giai đoạn 0, đư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ử 1, hợp nhất các tài liệu vào một tài liệu, xem 1 0 stage, which outputs the
aggregation pipeline results to a collection. For the 1 operator, which merges documents into a single document, see 1 0 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 0 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
[ "hello", " ", "world" ] Giai đoạn 0: 0 stage:
Để so sánh với giai đoạn 2 cũng đưa ra kết quả tổng hợp vào một bộ sưu tập, xem so sánh 0 và 2. 0 and 2 Comparison.Ghi chúTrang này mô tả giai đoạn [ "hello", " ", "world" ]0, đư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ử [ "hello", " ", "world" ]1, hợp nhất các tài liệu vào một tài liệu, xem [ "hello", " ", "world" ]1[ "hello", " ", "world" ] [ "hello", " ", "world" ] Giai đoạn 0: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:
0 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 0 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 8 hoặc cao hơn và sở thích đọc cho phép đọc thứ cấp. 0, including writing to a collection in the same database, you can use the simplified form: 0Đọc các hoạt động của câu lệnh 0 được gửi đến các nút thứ cấp, trong khi các hoạt động ghi chỉ xảy ra trên nút chính. 0 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:
Đối với trường hoặc trường được chỉ định:
[ "hello", " ", "world" ] [ "hello", " ", [ "world" ], "again" ] 5 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:
Để 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. Nếu bộ sưu tập đầu ra hiện có không được đặt, định danh 5 mặc định cho trường 7.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 7. Nếu chỉ định một định danh 5 khác nhau, 5 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 7 field. If specifying a different 5 identifier, the 5 must
contain all the shard key fields.khi nào Không bắt buộc. Hành vi của 0 nếu một tài liệu kết quả và 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. 0 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. "Hợp nhất" (mặc định) (Default) Hợp nhất các tài liệu phù hợp (tương tự như toán tử 1).
Ví dụ: nếu bộ sưu tập đầu ra có tài liệu: 4Và kết quả tổng hợp có tài liệu: 5Sau đó, tài liệu được hợp nhất là: 6Khi 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ị 7 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 7, hãy xóa trường 7 trong kết quả tổng hợp để tránh lỗi, chẳng hạn như với giai đoạn 2 trước đó, v.v.on field does not include the 7 field, remove the 7 field in the aggregation results to avoid the error, such as with a preceding 2 stage, and so on.
Làm thế nào để tôi hợp nhất hai bộ sưu tập tổng hợp MongoDB?Chúng ta có thể tham gia các tài liệu trên các bộ sưu tập trong MongoDB bằng cách sử dụng hàm $ Lookup (tập hợp). $ Tra cứu (tập hợp) tạo ra một tham gia bên trái bên trái với một bộ sưu tập khác và giúp lọc dữ liệu từ dữ liệu được hợp nhất.$lookup (Aggregation) function. $lookup(Aggregation) creates an outer left join with another collection and helps to filter data from merged data.
Làm thế nào để bạn phù hợp với một trường mảng trong tập hợp MongoDB?MongoDB tổng hợp trận đấu trong một mảng.. MongoDB tổng hợp kết hợp trong một mảng .. Sử dụng $ khớp với $ trong để tìm các tài liệu phù hợp trong một mảng trong MongoDB .. Sử dụng $ khớp với $ EQ để tìm các tài liệu phù hợp trong một mảng trong MongoDB .. Sử dụng $ Match với $ All để tìm các tài liệu phù hợp trong một mảng trong MongoDB .. Chúng ta có thể sử dụng $ và trong tổng hợp MongoDB không?Bạn có thể sử dụng $ và với tổng hợp nhưng bạn không cần phải viết nó, và ẩn bằng các bộ lọc khác nhau, trên thực tế, bạn có thể ống các bộ lọc đó trong trường hợp một trong số chúng cần một giải pháp khác. but you don't have to write it, and is implicit using different filters, in fact you can pipe those filters in case one of them needs a different solution.
Nổi vào tập hợp MongoDB là gì?Hoạt động thư giãn mảng kích thước và bao gồm chỉ mục mảng trong trường ArrayIndex mới.Nếu trường kích thước không giải quyết được một mảng đông dân nhưng không bị thiếu, null hoặc một mảng trống, trường ArrayIndex là null.unwinds the sizes array and includes the array index in the new arrayIndex field. If the sizes field does not resolve to a populated array but is not missing, null, or an empty array, the arrayIndex field is null . |