Làm cách nào để hợp nhất hai bộ sưu tập tổng hợp mongodb?
mongoplayground Show
Meteor sử dụng các sợi nút bên dưới để có thể viết cú pháp mã trông đồng bộ trong khi vẫn sử dụng thực thi mã không đồng bộ/không chặn của Node. Đó là cách API của Meteor tránh bị gọi lại Mặc dù “Fiber” là một khái niệm cấp thấp, nhưng nó cho phép một khái niệm trừu tượng có tên là Bất cứ nơi nào bạn có thể sử dụng api 1 Nếu bạn sử dụng MongoDB, có lẽ bạn đã hiểu tất cả những gì cần biết về nó, vì vậy tôi khuyên bạn nên bỏ qua bài đăng blog này ở đây, nhưng nếu bạn mới bắt đầu với MongoDB, hãy xem bài đăng blog này như một lời giới thiệu nhẹ nhàng 😉 Trước khi bắt đầuBài đăng trên blog này giả định rằng bạn đã có một tài khoản được thiết lập với MongoDB. Hãy nhớ rằng nếu bạn chưa có, bạn có thể tạo một cái miễn phí tại đây và MongoDB có một bậc miễn phí mà bạn có thể thiết lập khi tạo tài khoản của mình Bạn sẽ sử dụng dữ liệu mẫu từ MongoDB để tìm hiểu cách thực hiện tổng hợp và tạo bộ sưu tập mới Làm quen với dữ liệuTrong Mongo, một tập dữ liệu được gọi là một bộ sưu tập; . Trong khi các bản ghi trong bảng tính là các dòng, thì trong MongoDB, một bản ghi được gọi là tài liệu. Bạn sẽ sử dụng bộ sưu tập 2 chứa phim, nhận xét, người dùng, v.v.Tạo một bộ lọc cơ bảnMục tiêu của bạn là tạo một bộ sưu tập chứa tất cả các bình luận mà mỗi bộ phim nhận được vào tháng 8 năm 2002 Bắt đầu bằng cách vào cơ sở dữ liệu của dự án. Dự án của tôi có tên là “Dự án 0” và có cơ sở dữ liệu “Ví dụ” bao gồm ba cơ sở dữ liệu và 15 bộ sưu tập Mỗi dự án có một tập hợp các tab, một trong số đó là tab “Bộ sưu tập”, nơi bạn có thể xem cơ sở dữ liệu và tài liệu trong mỗi bộ sưu tập, như thể hiện trong hình trên. Từ trong tab Bộ sưu tập, bạn có thể xem dữ liệu và thực hiện các truy vấn đơn giản nếu muốn
Ví dụ: truy vấn trên hiển thị mọi tài liệu có giá trị ngày sau ngày 18 tháng 8 năm 2002 Sử dụng các truy vấn như vậy thật tuyệt khi xem kết quả sơ bộ của bộ sưu tập mà bạn đang cố gắng xây dựng. Nhưng để thực sự tạo bộ sưu tập, chúng ta cần sử dụng tập hợp Xây dựng tập hợpTập hợp là một cách bạn có thể xây dựng các bộ sưu tập bên trong MongoDB và có một tab dành cho điều đó, như minh họa trong hình bên dưới Để xem tab Tổng hợp, bạn cần nhấp vào bộ sưu tập mà bạn muốn điều tra hoặc sử dụng làm cơ sở cho bộ sưu tập mới của mình. Trên tab tổng hợp, bạn sẽ thấy trình tạo đường dẫn. Một quy trình là một tập hợp các bước; . Bạn sẽ làm ba giai đoạn
Lọc nhận xétĐể tránh xử lý dữ liệu không cần thiết, tức là dữ liệu nằm ngoài cửa sổ ngày quan tâm của bạn, điều đầu tiên bạn muốn làm là tìm các nhận xét trong khoảng thời gian cụ thể đó (tháng 8 năm 2002) Trên trình đơn thả xuống cho giai đoạn đầu tiên, hãy chọn toán tử 3; . Lưu ý rằng khi bạn chọn toán tử, Mongo sẽ tự động điền vào trường có thể chỉnh sửa với cấu trúc tiêu chuẩn cho toán tử đóBây giờ bạn cần thêm đoạn mã sau vào phần truy vấn ở đó Khi đã xong, bạn sẽ thấy kết quả mẫu sẽ bắt đầu hiển thị Bây giờ chúng ta hãy chia nhỏ từng bước của hoạt động đó, phải không?
Kết quả toán tử này sẽ là tất cả các tài liệu từ ngày 1 tháng 8 đến ngày 31 tháng 8 năm 2002 Thêm thông tin phim vào mỗi bình luậnBạn sẽ nhận thấy rằng các nhận xét không có thông tin về phim, nhưng có số nhận dạng phim (ID), như trong hình bên dưới Bao gồm thông tin phim trong các nhận xét được lọc mà bạn vừa nhận được từ giai đoạn đầu tiên là bước thứ hai trong quá trình tổng hợp của chúng tôi. Nhấp vào nút “Thêm giai đoạn” bên dưới giai đoạn đầu tiên để bắt đầu thêm thông tin phim vào bộ sưu tập bằng cách sử dụng toán tử 9Toán tử 9 thực hiện “nối ngoài bên trái”. Hãy nghĩ về nó như một "tham gia được lọc". Dựa trên bộ sưu tập ở “bên trái” (bình luận), hãy chọn tài liệu ở bên “phải” (phim) khớp với một trường nhất định trong cả hai trường, trong trường hợp này là id phim. Bằng cách này, chúng tôi không phải quan tâm đến việc xóa phim không có nhận xét, nhưng tất cả nhận xét từ cửa sổ thời gianTrên trình đơn thả xuống cho giai đoạn thứ hai, hãy chọn toán tử 9, như minh họa trong hình trên. Một lần nữa, Mongo sẽ điền sẵn mã mẫu của toán tử và bạn có thể cập nhật phần mã bằng mã bên dướiMột lần nữa, hãy chia nhỏ từng bước của hoạt động đó
Và bạn sẽ thấy kết quả hiển thị như trong hình bên dưới Tất cả các thao tác dữ liệu được thực hiện. Đã đến lúc lưu kết quả và thực sự tạo bộ sưu tập mới của bạn Lưu kết quảMột lần nữa, hãy nhấp vào nút “Thêm giai đoạn” để tạo một giai đoạn đưa kết quả vào một bộ sưu tập mới và trên menu thả xuống cho giai đoạn thứ ba, hãy chọn toán tử 25Bây giờ hãy cập nhật mã trong trường mã trong phần ra với mã bên dưới Hãy phá vỡ phần này
Sau khi điền tên của bộ sưu tập mới, bạn nên nhấp vào nút “Lưu tài liệu” Sau khi bộ sưu tập được tạo (có thể mất vài giây), bạn sẽ thấy một thông báo cho biết rằng các tài liệu đã được lưu giữ trong bộ sưu tập và liên kết “Chuyển đến bộ sưu tập” mà bạn nên nhấp vào Nhấp vào liên kết “Chuyển đến bộ sưu tập” sẽ mở một tab mới. Nếu bạn không muốn xem tab khác, hãy làm mới trang và bạn sẽ thấy 27 hiển thị trên menu bên tráiBây giờ bộ sưu tập của bạn đã sẵn sàng, bạn có thể xem dữ liệu phân tích bộ sưu tập, như số lượng hoạt động đã được ghi lại và dung lượng chiếm dụng trong bộ lưu trữ của chúng tôi Tóm tắt lạiBây giờ bạn đã biết cách tạo bộ sưu tập bằng cách tổng hợp hai bộ sưu tập khác bằng đường dẫn. Bạn cũng biết Làm cách nào để hợp nhất hai mảng trong tổng hợp MongoDB?MongoDB cung cấp các loại toán tử biểu thức mảng khác nhau được sử dụng trong các giai đoạn quy trình tổng hợp và toán tử $concatArrays là một trong số đó. Toán tử này được sử dụng để nối hai hoặc nhiều mảng và trả về một mảng đã nối. Ở đây, mảng phải là một biểu thức hợp lệ cho đến khi nó phân giải thành một mảng.
Làm cách nào để hợp nhất hai đối tượng trong MongoDB?$mergeObjects ghi đè lên các giá trị của trường khi nó hợp nhất các tài liệu. Nếu các tài liệu cần hợp nhất bao gồm cùng một tên trường, thì trường trong tài liệu kết quả sẽ có giá trị từ tài liệu cuối cùng được hợp nhất cho trường đó.
MongoDB có hỗ trợ tham gia truy vấn giữa các bộ sưu tập không?Không trực tiếp, không. Tuy nhiên, MongoDB không hỗ trợ ngôn ngữ truy vấn phong phú của riêng nó. Để biết ví dụ về cách sử dụng ngôn ngữ truy vấn của MongoDB, hãy xem MongoDB CRUD Operations. Bạn cũng có thể sử dụng Trình kết nối MongoDB cho BI để truy vấn các bộ sưu tập MongoDB bằng SQL
Làm cách nào để lấy dữ liệu từ hai bộ sưu tập trong cầy mangut?Mongoose - truy vấn để lấy dữ liệu từ nhiều bộ sưu tập . người sử dụng. js var mongoose = require('mongoose'); . Lược đồ; . . nhận xét. js var mongoose = require('mongoose'); . Lược đồ; . . bưu kiện. js var mongoose = require('mongoose'); |