Hướng dẫn how do i merge two mongodb collections? - làm cách nào để hợp nhất hai bộ sưu tập mongodb?
Tài liệu về nhà → Hướng dẫn sử dụng MongoDB → MongoDB Manual Show Ghi chúTrang này mô tả giai đoạn $merge 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 $merge 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
Giai đoạn
Để so sánh với giai đoạn 5 cũng đưa ra kết quả tổng hợp vào một bộ sưu tập, xem so sánh $merge và 5.$merge and 5 Comparison.Ghi chúQuan điểm cụ thể theo yêu cầu
Để biết thêm thông tin về trường hợp sử dụng này, hãy xem các chế độ xem cụ thể hóa theo yêu cầu cũng như các ví dụ trên trang này. Quan điểm vật chất là tách biệt với các quan điểm chỉ đọc. Để biết thông tin về việc tạo các chế độ xem chỉ đọc, hãy xem các chế độ xem chỉ đọc.
Ví dụ:
Nếu sử dụng tất cả các tùy chọn mặc định cho
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:
{ $merge: 8 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 8 mặc định cho trường $merge 0.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 8 khác nhau, 8 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 $merge 0 field. If specifying a different 8 identifier, the 8 must
contain all the shard key fields.khi nào Không bắt buộc. Hành vi của 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ử
Ví dụ: nếu bộ sưu tập đầu ra có tài liệu:
Và kết quả tổng hợp có tài liệu:
Sau đó, tài liệu được hợp nhất là:
Khi 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ị MẹoĐể tránh lỗi này, nếu trường trên không bao gồm trường Truy vấn MongoDB có hỗ trợ tham gia giữa các bộ sưu tập không?Có, bạn có thể tham gia 2 bộ sưu tập với Khung tổng hợp và $ Unionwith Giai đoạn.Dưới đây là các tài liệu có cú pháp và ví dụ, vì vậy bạn có thể kiểm tra cách thực hiện.. Here are the docs with syntax and examples, so you can check how to do it.
Tôi có thể sử dụng nhiều bộ sưu tập bên trong cơ sở dữ liệu trong MongoDB không?Bạn có thể cập nhật một tài liệu trong hai bộ sưu tập.Và hoạt động có thể được thực hiện bằng cách sử dụng giao dịch MongoDB.Nhưng, hoạt động cập nhật trên mỗi bộ sưu tập sẽ được riêng biệt - nó không thể được thực hiện dưới dạng truy vấn đơn lẻ.. And the operation can be performed atomically using MongoDB Transaction. But, the update operation on each collection will be separate - it cannot be done as a “single query”.
Hợp nhất trong MongoDB là gì?$ Merge chèn tài liệu trực tiếp vào bộ sưu tập đầu ra.Trước MongoDB 4.2.2, khi các điều kiện này cho giai đoạn Merge $ được đáp ứng, đường ống được chỉ định trong trường khi nào được thực hiện với một tài liệu đầu vào trống.Tài liệu kết quả từ đường ống được chèn vào bộ sưu tập đầu ra.inserts the document directly into the output collection. Prior to MongoDB 4.2. 2, when these conditions for a $merge stage are met, the pipeline specified in the whenMatched field is executed with an empty input document. The resulting document from the pipeline is inserted into the output collection.
Chúng ta có thể tạo bộ sưu tập bộ sưu tập bên trong trong MongoDB không?Bạn có thể tạo các bộ sưu tập mới trong một cơ sở dữ liệu hiện có.. |