Hướng dẫn mongodb inner join - tham gia bên trong mongodb

Sự khác biệt quan trọng nhất giữa cơ sở dữ liệu SQL và NoQuery là tham gia. Một mệnh đề tham gia SQL được sử dụng trong cơ sở dữ liệu quan hệ để tham gia các bảng bằng các trường chung của chúng. Tuy nhiên, MongoDB là một loại cơ sở dữ liệu NoQuery không tuân theo các hệ thống quản lý cơ sở dữ liệu quan hệ (RDBMS) và do đó không cung cấp các phương thức tham gia rộng rãi. Mặc dù MongoDB ban đầu không có bất kỳ phương pháp tham gia nào, khái niệm tham gia bên trong MongoDB bị ảnh hưởng bởi cơ sở dữ liệu SQL. Trong số nhiều lần tham gia trong SQL, tham gia bên trong là được sử dụng phổ biến nhất. & NBSP; NoSQL type of database that does not follow relational database management systems (RDBMS) and therefore does not provide extensive JOIN methods. Although MongoDB originally did not have any joining methods, the MongoDB Inner JOIN concept was influenced by SQL databases. Among the many joins in SQL, the inner join is the most commonly used. 

Trong bài viết này, bạn sẽ học cách dễ dàng thực hiện hoạt động tham gia bên trong MongoDB trong MongoDB. & NBSP;

Mục lục

  • MongoDB là gì? & Nbsp;
    • Các tính năng chính của MongoDB
  • Làm thế nào để thực hiện Hoạt động tham gia bên trong MongoDB?
    • 1. Bộ sưu tập mẫu cho tham gia bên trong MongoDB
    • 2. Tập hợp các bộ sưu tập cho tham gia bên trong MongoDB
    • 3. Toán tử phù hợp để hoàn thành tham gia bên trong MongoDB
  • Sự kết luận

MongoDB là gì?

Hướng dẫn mongodb inner join - tham gia bên trong mongodb
Nguồn hình ảnh

MongoDB là cơ sở dữ liệu định hướng tài liệu nguồn mở NoQuery được phát triển để lưu trữ và xử lý khối lượng dữ liệu cao. So với các cơ sở dữ liệu quan hệ thông thường, MongoDB sử dụng các bộ sưu tập và tài liệu thay vì các bảng bao gồm các hàng và cột. Các bộ sưu tập bao gồm một số tài liệu và tài liệu chứa các đơn vị dữ liệu cơ bản về các cặp khóa và giá trị. & NBSP;NoSQL open-source document-oriented database developed for storing and processing high volumes of data. Compared to the conventional relational databases, MongoDB makes use of collections and documents instead of tables consisting of rows and columns. The Collections consist of several documents and documents containing the basic units of data in terms of key and value pairs. 

Được giới thiệu vào tháng 2 năm 2009, cơ sở dữ liệu MongoDB được thiết kế, duy trì và quản lý bởi MongoDB.INC theo SSPL (Giấy phép công cộng bên máy chủ). Các tổ chức như Facebook, Nokia, eBay, Adobe, Google, v.v. thích nó để xử lý hiệu quả và lưu trữ dữ liệu phát triển theo cấp số nhân của họ. Nó cung cấp hỗ trợ đầy đủ cho các ngôn ngữ lập trình như C, C ++, C#, GO, Java, Node.js, Perl, PHP, Python, Motor, Ruby, Scala, Swift và Mongoid.SSPL(Server Side Public License). Organizations such as Facebook, Nokia, eBay, Adobe, Google, etc. prefer it for efficiently handling and storing their exponentially growing data. It offers complete support for programming languages such as C, C++, C#, Go, Java, Node.js, Perl, PHP, Python, Motor, Ruby, Scala, Swift, and Mongoid.

Các tính năng chính của MongoDB?

Hướng dẫn mongodb inner join - tham gia bên trong mongodb
Nguồn hình ảnh

MongoDB là cơ sở dữ liệu định hướng tài liệu nguồn mở NoQuery được phát triển để lưu trữ và xử lý khối lượng dữ liệu cao. So với các cơ sở dữ liệu quan hệ thông thường, MongoDB sử dụng các bộ sưu tập và tài liệu thay vì các bảng bao gồm các hàng và cột. Các bộ sưu tập bao gồm một số tài liệu và tài liệu chứa các đơn vị dữ liệu cơ bản về các cặp khóa và giá trị. & NBSP;

  • Được giới thiệu vào tháng 2 năm 2009, cơ sở dữ liệu MongoDB được thiết kế, duy trì và quản lý bởi MongoDB.INC theo SSPL (Giấy phép công cộng bên máy chủ). Các tổ chức như Facebook, Nokia, eBay, Adobe, Google, v.v. thích nó để xử lý hiệu quả và lưu trữ dữ liệu phát triển theo cấp số nhân của họ. Nó cung cấp hỗ trợ đầy đủ cho các ngôn ngữ lập trình như C, C ++, C#, GO, Java, Node.js, Perl, PHP, Python, Motor, Ruby, Scala, Swift và Mongoid.: MongoDB’s Replication feature provides multiple servers for disaster recovery and backup. Since several servers store the same data or shards of data, MongoDB provides greater data availability & stability. This ensures all-time data access and security in case of server crashes, service interruptions, or even good old hardware failure. 
  • Các tính năng chính của MongoDB?: You may need to consider thousands to millions of variables while running Ad-hoc queries. MongoDB indexes BSON documents and utilizes the MongoDB Query Language (MQL) that allows you to update Ad-hoc queries in real-time. MongoDB provides complete support for field queries, range queries, and regular expression searches along with user-defined functions.
  • Với những nỗ lực liên tục từ cộng đồng trực tuyến, MongoDB đã phát triển qua nhiều năm. Một số tính năng bắt mắt của nó là:: With a wide range of indices and features with language-specific sort orders that support complex access patterns to datasets, MongoDB provides optimal performance for every query. For the real-time ever-evolving query patterns and application requirements, MongoDB also provisions On-demand Indices Creation.
  • Tính khả dụng & ổn định dữ liệu cao: Tính năng sao chép MongoDB cung cấp nhiều máy chủ để khắc phục và sao lưu thảm họa. Vì một số máy chủ lưu trữ cùng một dữ liệu hoặc mảnh dữ liệu, MongoDB cung cấp tính khả dụng và ổn định dữ liệu lớn hơn. Điều này đảm bảo truy cập dữ liệu và bảo mật mọi thời đại trong trường hợp sự cố máy chủ, gián đoạn dịch vụ hoặc thậm chí là lỗi phần cứng cũ tốt. & NBSP;: With the help of Sharding, MongoDB provides horizontal scalability by distributing data on multiple servers using the Shard Key. Each shard in every MongoDB Cluster stores parts of the data, thereby acting as a separate database. This collection of comprehensive databases allows efficient handling of growing volumes of data with zero downtime. The complete Sharding Ecosystem is maintained and managed by Mongos that directs queries to the correct shard based on the Shard Key.
  • Phân tích tăng tốc: Bạn có thể cần xem xét hàng ngàn đến hàng triệu biến trong khi chạy các truy vấn đặc biệt. MongoDB lập chỉ mục các tài liệu BSON và sử dụng ngôn ngữ truy vấn MongoDB (MQL) cho phép bạn cập nhật các truy vấn đặc biệt trong thời gian thực. MongoDB cung cấp hỗ trợ hoàn chỉnh cho các truy vấn trường, truy vấn phạm vi và tìm kiếm biểu thức chính quy cùng với các chức năng do người dùng xác định.: Real-time Replication and Sharding contribute towards large-scale Load Balancing. Ensuring top-notch Concurrency Controls and Locking Protocols, MongoDB can effectively handle multiple concurrent read and write requests for the same data.  
  • Lập chỉ mục: Với một loạt các chỉ số và tính năng với các đơn đặt hàng dành riêng cho ngôn ngữ hỗ trợ các mẫu truy cập phức tạp vào bộ dữ liệu, MongoDB cung cấp hiệu suất tối ưu cho mỗi truy vấn. Đối với các mẫu truy vấn và yêu cầu ứng dụng không ngừng phát triển theo thời gian thực, MongoDB cũng cung cấp các chỉ số theo yêu cầu.: Similar to the SQL Group By clause, MongoDB can easily batch process data and present a single result even after executing several other operations on the group data. MongoDB’s Aggregation framework consists of 3 types of aggregations i.e. Aggregation Pipeline, Map-Reduce Function, and Single-Purpose Aggregation methods.

Khả năng mở rộng theo chiều ngang: Với sự trợ giúp của Sharding, MongoDB cung cấp khả năng mở rộng theo chiều ngang bằng cách phân phối dữ liệu trên nhiều máy chủ bằng cách sử dụng phím Shard. Mỗi mảnh vỡ trong mỗi cụm MongoDB lưu trữ các phần của dữ liệu, do đó hoạt động như một cơ sở dữ liệu riêng biệt. Bộ sưu tập cơ sở dữ liệu toàn diện này cho phép xử lý hiệu quả khối lượng dữ liệu phát triển bằng thời gian chết bằng không. Hệ sinh thái Sharding hoàn chỉnh được duy trì và quản lý bởi Mongo chỉ đạo các truy vấn đến Shard chính xác dựa trên khóa Shard.MongoDB & MongoDB Atlas, along with 100+ data sources (Including 40+ Free Data Sources), and is a 3-step process by just selecting the data source, providing valid credentials, and choosing the destination. Hevo not only loads the data onto the desired Data Warehouse but also enriches the data and transforms it into an analysis-ready form without having to write a single line of code.

Đường ống hoàn toàn tự động của nó cung cấp dữ liệu được cung cấp trong thời gian thực mà không mất bất kỳ tổn thất nào từ nguồn đến đích. Kiến trúc chịu lỗi và có thể mở rộng của nó đảm bảo rằng dữ liệu được xử lý một cách an toàn, nhất quán với mất dữ liệu bằng không và hỗ trợ các hình thức dữ liệu khác nhau. Các giải pháp được cung cấp là phù hợp và làm việc với các công cụ BI khác nhau là tốt.

Bắt đầu với Hevo miễn phí

Kiểm tra lý do tại sao Hevo là tốt nhất:

  • An toàn: HEVO có kiến ​​trúc chịu lỗi, đảm bảo rằng dữ liệu được xử lý một cách an toàn, nhất quán với mất dữ liệu bằng không.: Hevo has a fault-tolerant architecture that ensures that the data is handled in a secure, consistent manner with zero data loss.
  • Quản lý lược đồ: Hevo lấy đi nhiệm vụ tẻ nhạt của quản lý lược đồ và tự động phát hiện lược đồ của dữ liệu đến và ánh xạ nó đến lược đồ đích.: Hevo takes away the tedious task of schema management & automatically detects the schema of incoming data and maps it to the destination schema.
  • Học tối thiểu: Hevo, với giao diện người dùng đơn giản và tương tác, cực kỳ đơn giản để khách hàng mới làm việc và thực hiện các hoạt động.: Hevo, with its simple and interactive UI, is extremely simple for new customers to work on and perform operations.
  • Trình kết nối: HEVO hỗ trợ hơn 100 lần tích hợp cho các nền tảng SaaS như WordPress, FTP/SFTP, tệp, cơ sở dữ liệu, công cụ BI và các đầu nối API & Webhook của REST REST. Nó hỗ trợ các điểm đến khác nhau bao gồm Google BigQuery, Amazon Redshift, Snowflake, Firebolt, kho dữ liệu; Amazon S3 Data Lakes; Databricks, MySQL, SQL Server, Tokudb, MongoDB, DynamoDB, PostgreSQL cơ sở dữ liệu để đặt tên cho một số. & NBSP; & nbsp;: Hevo supports 100+ Integrations to SaaS platforms such as WordPress, FTP/SFTP, Files, Databases, BI tools, and Native REST API & Webhooks Connectors. It supports various destinations including Google BigQuery, Amazon Redshift, Snowflake, Firebolt, Data Warehouses; Amazon S3 Data Lakes; Databricks, MySQL, SQL Server, TokuDB, MongoDB, DynamoDB, PostgreSQL Databases to name a few.  
  • HEVO được xây dựng theo tỷ lệ: Khi số lượng nguồn và khối lượng dữ liệu của bạn tăng lên, Hevo tỷ lệ theo chiều ngang, xử lý hàng triệu hồ sơ mỗi phút với độ trễ rất ít.: As the number of sources and the volume of your data grows, Hevo scales horizontally, handling millions of records per minute with very little latency.
  • Tải dữ liệu gia tăng: HEVO cho phép chuyển dữ liệu đã được sửa đổi trong thời gian thực. Điều này đảm bảo sử dụng hiệu quả băng thông ở cả hai đầu.: Hevo allows the transfer of data that has been modified in real-time. This ensures efficient utilization of bandwidth on both ends.
  • Hỗ trợ trực tiếp: Nhóm HEVO có sẵn vòng quanh để mở rộng hỗ trợ đặc biệt cho khách hàng của mình thông qua trò chuyện, email và các cuộc gọi hỗ trợ.: The Hevo team is available round the clock to extend exceptional support to its customers through chat, email, and support calls.
  • Giám sát trực tiếp: HEVO cho phép bạn theo dõi luồng dữ liệu và kiểm tra nơi dữ liệu của bạn tại một thời điểm cụ thể. & NBSP;: Hevo allows you to monitor the data flow and check where your data is at a particular point in time. 

Đăng ký tại đây để dùng thử miễn phí 14 ngày!

Làm thế nào để thực hiện Hoạt động tham gia bên trong MongoDB?

Không có sự tham gia chính thức trong MongoDB, như đã đề cập trước đó. Tuy nhiên, có những phương pháp để làm như vậy. Toán tử tra cứu $ được sử dụng cho việc này. Toán tử tra cứu $ chỉ có thể được sử dụng khi tổng hợp dữ liệu. Bạn có thể hình dung những điều này dưới dạng đường ống của các toán tử truy vấn, lọc và nhóm kết quả. Kết quả từ một toán tử là đầu vào cho cái tiếp theo.lookup operator is used for this. The $lookup operator can only be used when aggregating data. You can visualize these as a pipeline of operators querying, filtering, and grouping results. Results from one operator are inputs for the subsequent one.

Nói chung, các truy vấn tổng hợp phức tạp và chậm hơn so với các truy vấn đơn giản hơn. Nhưng họ mạnh mẽ và vô giá khi nói đến các hoạt động tìm kiếm phức tạp.

Hướng dẫn mongodb inner join - tham gia bên trong mongodb
Nguồn hình ảnh

$ Tra cứu trả về một tài liệu là giá trị của nó. Tài liệu này bao gồm bốn trường chính.

  • Từ: Tên của bộ sưu tập được tham gia. The name of the collection to be joined.
  • LocalField và ForeignField: Để tham gia các bộ sưu tập bằng cách sử dụng $ Tra cứu, một trường từ cả hai bộ sưu tập là bắt buộc. Localfield xuất phát từ bộ sưu tập gọi $ Tra cứu, trong khi trường nước ngoài đến từ bộ sưu tập thứ hai. To join the collections using $lookup, a field from both collections is required. The localField comes from the collection which invokes the $lookup, whereas the foreignField comes from a second collection.
  • AS: Kết nối giữa hai bộ sưu tập trong một kết quả. The connection between two collections in a result.

Để hiểu quá trình thực hiện tham gia bên trong MongoDB, bạn có thể trải qua các khía cạnh sau:

  • 1. Bộ sưu tập mẫu cho tham gia bên trong MongoDB
  • 2. Tập hợp các bộ sưu tập cho tham gia bên trong MongoDB
  • 3. Toán tử phù hợp để hoàn thành tham gia bên trong MongoDB

1. Bộ sưu tập mẫu cho tham gia bên trong MongoDB

2. Tập hợp các bộ sưu tập cho tham gia bên trong MongoDBChelsea”. (the _id field is omitted for better clarity). This collection features football players of Chelsea, an English football club. The documents contain two fields – playername and country. 

{ "playername" : "Thiago Silva", "country" : "Brazil" }
{ "playername" : "Anthony Rudiger", "country" : "Germany" }
{ "playername" : "Andreas Christensen", "country" : "Denmark" }
{ "playername" : "Reece James", "country" : "England" }
{ "playername" : "Ben Chilwell", "country" : "England" }
{ "playername" : "Ngolo Kante", "country" : "France" }
{ "playername" : "Jorginho", "country" : "Italy" }
{ "playername" : "Mason Mount", "country" : "England" }
{ "playername" : "Hakim Ziyech", "country" : "Morocco" }
{ "playername" : "Edouard Mendy", "country" : "Senegal" }
{ "playername" : "Romelu Lukaku", "country" : "Belgium" }
{ "playername" : "Mateo Kovacic", "country" : "Croatia" }

3. Toán tử phù hợp để hoàn thành tham gia bên trong MongoDBplayername, club, and country.

{ "playername" : "Leonel Messi", "club" : "PSG", "country" : "Argentina" }
{ "playername" : "Cristiano Ronaldo", "club" : "Manchester United", "country" : "Portugal" }
{ "playername" : "Robert Lewandowski", "club" : "Bayern Munich", "country" : "Poland" }
{ "playername" : "Ruben Dias", "club" : "Manchester City", "country" : "Portugal" }
{ "playername" : "Erling Haland", "club" : "Borussia Dortmund", "country" : "Norway" }
{ "playername" : "Kevin De Bruyne", "club" : "Manchester City", "country" : "Belgium" }
{ "playername" : "David Alaba", "club" : "Real Madrid", "country" : "Austria" }
{ "playername" : "Leonardo Bonucci", "club" : "Juventus", "country" : "Italy" }
{ "playername" : "Gianluigi Donnarumma", "club" : "PSG", "country" : "Italy" }
{ "playername" : "Ngolo Kante", "club" : "Chelsea", "country" : "France" }
{ "playername" : "Jorginho", "club" : "Chelsea", "country" : "Italy" }

Đối với bài viết này, hai bộ sưu tập được xem xét để tham khảo. Tên của bộ sưu tập đầu tiên là Chelsea Chelsea. (Trường _ID bị bỏ qua để rõ ràng hơn). Bộ sưu tập này có các cầu thủ bóng đá của Chelsea, một câu lạc bộ bóng đá Anh. Các tài liệu chứa hai lĩnh vực - Playername và Country. & NBSP;

Bộ sưu tập thứ hai có tên là WorldXi. 11 tài liệu được bao gồm trong bộ sưu tập WorldXi. Theo FIFA, đây là những thế giới tốt nhất XIS. Trong mỗi tài liệu, ba lĩnh vực xuất hiện là Playername, Câu lạc bộ và Quốc gia.

2. Tập hợp các bộ sưu tập cho tham gia bên trong MongoDB

3. Toán tử phù hợp để hoàn thành tham gia bên trong MongoDB

  • Đối với bài viết này, hai bộ sưu tập được xem xét để tham khảo. Tên của bộ sưu tập đầu tiên là Chelsea Chelsea. (Trường _ID bị bỏ qua để rõ ràng hơn). Bộ sưu tập này có các cầu thủ bóng đá của Chelsea, một câu lạc bộ bóng đá Anh. Các tài liệu chứa hai lĩnh vực - Playername và Country. & NBSP;
db.chelsea.aggregate({ $lookup: {from : "worldXI", localField: "playername", foreignField: "playername", as : "chelseaInWorldXI"}})

Bộ sưu tập thứ hai có tên là WorldXi. 11 tài liệu được bao gồm trong bộ sưu tập WorldXi. Theo FIFA, đây là những thế giới tốt nhất XIS. Trong mỗi tài liệu, ba lĩnh vực xuất hiện là Playername, Câu lạc bộ và Quốc gia.

Các trường chung giữa hai bộ sưu tập được yêu cầu khi thực hiện thao tác tham gia. Đối với trường hợp tham gia bên trong MongoDB này, Playername và Country là hai lĩnh vực duy nhất phổ biến cho cả hai bộ sưu tập. Vì vậy, bạn có thể kết hợp các bộ sưu tập này dựa trên PlayerName.

  • Bước 2: Bạn có thể xem kết quả tham gia bên trong MongoDB thông qua lệnh sau:: You can check out the MongoDB Inner Join result via the following command:
> db.chelsea.aggregate({ $lookup: {from : "worldXI", localField: "playername", foreignField: "playername", as : "chelseaInWorldXI"}}).pretty()
{
        "_id" : ObjectId("5e1b3b8c2e6cf2f7f45585d7"),
        "playername" : "Thiago Silva",
        "country" : "Brazil",
        "chelseaInWorldXI" : [ ]
}
{
        "_id" : ObjectId("5e1b3ba72e6cf2f7f45585d8"),
        "playername" : "Anthony Rudiger",
        "country" : "Germany",
        "chelseaInWorldXI" : [ ]
             
}
{
        "_id" : ObjectId("5e1b3bd52e6cf2f7f45585d9"),
        "playername" : "Andreas Christensen ",
        "country" : "Denmark",
        "chelseaInWorldXI" : [ ]
}
{
        "_id" : ObjectId("5e1b3be42e6cf2f7f45585da"),
        "playername" : "Reece James",
        "country" : "England",
        "chelseaInWorldXI" : [ ]
}
{
        "_id" : ObjectId("5e1b3c012e6cf2f7f45585db"),
        "playername" : "Ben Chillwell",
        "country" : "England",
        "chelseaInWorldXI" : [ ]
}
{
        "_id" : ObjectId("5e1b3c1d2e6cf2f7f45585dc"),
        "playername" : "Ngolo Kante",
        "country" : "France",
        "chelseaInWorldXI" : [ 
   {
                        "_id" : ObjectId("5e1b3e1b2e6cf2f7f45585e3"),
                        "playername" : "Ngolo Kante",
                        "club" : "Chelsea",
                        "country" : "France"
                }
        ]
}
{
        "_id" : ObjectId("5e1b3c332e6cf2f7f45585dd"),
        "playername" : "Jorginho",
        "country" : "Italy",
        "chelseaInWorldXI" : [ 
 {
                        "_id" : ObjectId("5e1b3d4d2e6cf2f7f45585e0"),
                        "playername" : "Jorginho",
                        "club" : "Chelsea",
                        "country" : "Italy"
                }
        ]

}
{
        "_id" : ObjectId("5e1b3c3d2e6cf2f7f45585de"),
        "playername" : "Mason Mount",
        "country" : "England",
        "chelseaInWorldXI" : [ ]
}
{
        "_id" : ObjectId("5e1b3c502e6cf2f7f45585df"),
        "playername" : "Hakim Ziyech",
        "country" : "Morocco",
        "chelseaInWorldXI" : [ ]
}
{
        "_id" : ObjectId("5e1b3f962e6cf2f7f45585eb"),
        "playername" : "Edouard Mendy",
        "country" : "Senegal",
        "chelseaInWorldXI" : [ ]
}
{
        "_id" : ObjectId("5e1b41412e6cf2f7f45585ec"),
        "playername" : "Romelu Lukaku",
        "country" : "Belgium",
        "chelseaInWorldXI" : [ ]
              
}
{
        "_id" : ObjectId("5e1b51f42e6cf2f7f45585ed"),
        "playername" : "Mateo Kovacic",
        "country" : "Croatia",
        "chelseaInWorldXI" : [ ]
}

Xem lại kết quả tham gia MongoDB. Một số tài liệu từ Bộ sưu tập Chelsea được hợp nhất với những tài liệu từ Bộ sưu tập WorldXi, nhưng kết quả cũng chứa các tài liệu từ Bộ sưu tập Chelsea không khớp với các tài liệu từ Bộ sưu tập WorldXi. & NBSP;

Điều gì sai ở đây? Kết nối bên trong MongoDB nên làm việc theo cách này, phải không? Kết quả là, chỉ cần các tài liệu được khớp với Bộ sưu tập WorldXi là bắt buộc. & NBSP;

Do đó, bây giờ bạn có thể sử dụng toán tử Match $ để biến nó thành một tham gia bên trong MongoDB thích hợp.

3. Toán tử phù hợp để hoàn thành tham gia bên trong MongoDB

Bạn có thể nâng cao kết quả bằng cách sử dụng toán tử Match $. Công cụ này sẽ được sử dụng để loại bỏ tất cả các tài liệu không phù hợp với bộ sưu tập WorldXi. Làm thế nào bạn có thể hoàn thành điều này? Những tài liệu không phù hợp không có nội dung trong trường ChelseAworldxi. Không có gì trong đó. Kết quả là, chỉ các tài liệu có chiều dài lớn hơn 0 mới được hiển thị.

{ $match : { "chelseaInWorldXI" : { $ne : []}}}

Sử dụng toán tử $ ne, bạn phải xóa tất cả các bản ghi trong đó ChelseAworldXi trống. $ne operator you must remove all the records where ChelseaInWorldXI is empty.

Hãy để thêm điều này vào truy vấn tham gia bên trong MongoDB và xem điều gì sẽ xảy ra.

> db.chelsea.aggregate({ $lookup: {from : "worldXI", localField: "playername", foreignField: "playername", as : "chelseaInWorldXI"}},{ $match : { "chelseaInWorldXI" : { $ne : []}}}  ).pretty()
{
         "_id" : ObjectId("5e1b3c1d2e6cf2f7f45585dc"),
        "playername" : "Ngolo Kante",
        "country" : "France",
        "chelseaInWorldXI" : [ 
   {
                        "_id" : ObjectId("5e1b3e1b2e6cf2f7f45585e3"),
                        "playername" : "Ngolo Kante",
                        "club" : "Chelsea",
                        "country" : "France"
                }
        ]
}
{
        "_id" : ObjectId("5e1b3c332e6cf2f7f45585dd"),
        "playername" : "Jorginho",
        "country" : "Italy",
        "chelseaInWorldXI" : [ 
 {
                        "_id" : ObjectId("5e1b3d4d2e6cf2f7f45585e0"),
                        "playername" : "Jorginho",
                        "club" : "Chelsea",
                        "country" : "Italy"
                }
        ]

}

Conclusion  

Trong bài viết này, bạn đã học được cách thực hiện hiệu quả hoạt động tham gia bên trong MongoDB. Cơ sở dữ liệu MongoDB nổi tiếng với sự hỗ trợ rộng rãi cho việc xử lý dữ liệu bên trong cơ sở dữ liệu. Không giống như cơ sở dữ liệu dựa trên SQL, nó không cung cấp một phương pháp chuyên dụng để tham gia các bộ sưu tập. Đối với các kết nối bên trong MongoDB, bạn có thể sử dụng các toán tử Match & $ Match có thể được sử dụng trong phương thức tổng hợp thay vì tham gia. $ Tra cứu là một sự bổ sung rất nhiều cho MongoDB 3.2. Nó có thể làm giảm bớt một số sự thất vọng liên quan đến việc sử dụng một lượng nhỏ dữ liệu quan hệ trong cơ sở dữ liệu NoQuery.MongoDB Inner Join operation. The MongoDB database is well known for its extensive support for processing data inside the database. Unlike SQL-based databases, it does not provide a dedicated method to join collections. For MongoDB Inner Joins, you can use the $lookup & $match operators that can be used in the aggregation method instead of Join. $lookup is a much-welcome addition to MongoDB 3.2. It can alleviate some of the frustrations relating to the use of small amounts of relational data in a NoSQL database.

Để có được một bức tranh hoàn chỉnh về hiệu quả kinh doanh và sức khỏe tài chính của bạn, bạn cần hợp nhất dữ liệu từ MongoDB và tất cả các ứng dụng khác được sử dụng trên toàn doanh nghiệp của bạn. Để đạt được điều này, bạn cần chỉ định một phần băng thông kỹ thuật của mình để tích hợp dữ liệu từ tất cả các nguồn, sạch và chuyển đổi nó, và cuối cùng, tải nó vào kho dữ liệu đám mây hoặc điểm đến bạn chọn để phân tích kinh doanh. Tất cả những thách thức này có thể được giải quyết thoải mái bằng một công cụ ETL dựa trên đám mây như dữ liệu HEVO. & NBSP; & NBSP;Integrate data from all sources, Clean & Transform it, and finally, Load it to a Cloud Data Warehouse or a destination of your choice for further Business Analytics. All of these challenges can be comfortably solved by a Cloud-Based ETL tool such as Hevo Data.  

Ghé thăm trang web của chúng tôi để khám phá Hevo

Dữ liệu của HEVO, một đường ống dữ liệu không có mã có thể chuyển dữ liệu một cách liền mạch từ một biển rộng hơn 100 nguồn như MongoDB & MongoDB Atlas sang kho dữ liệu hoặc đích đến bạn chọn để hiển thị trong một công cụ BI. Đây là một dịch vụ đáng tin cậy, hoàn toàn tự động và an toàn mà không yêu cầu bạn viết bất kỳ mã nào! & NBSP; MongoDB Atlas to a Data Warehouse or a Destination of your choice to be visualized in a BI Tool. It is a reliable, completely automated, and secure service that doesn’t require you to write any code! 

Nếu bạn đang sử dụng MongoDB làm hệ thống quản lý cơ sở dữ liệu NoQuery của mình và tìm kiếm một sự thay thế không giả mạo để tích hợp dữ liệu thủ công, thì HEVO có thể dễ dàng tự động hóa điều này cho bạn. HEVO, với sự tích hợp mạnh mẽ với hơn 100 nguồn & công cụ BI (bao gồm hơn 40 nguồn miễn phí), cho phép bạn không chỉ xuất và tải dữ liệu mà còn biến đổi và làm phong phú dữ liệu của bạn và làm cho nó sẵn sàng phân tích trong JIFFY.MongoDB as your NoSQL Database Management System and searching for a no-fuss alternative to Manual Data Integration, then Hevo can effortlessly automate this for you. Hevo, with its strong integration with 100+ sources & BI tools(Including 40+ Free Sources), allows you to not only export & load data but also transform & enrich your data & make it analysis-ready in a jiffy.

Bạn muốn đưa Hevo đi xe? Đăng ký & NBSP; để dùng thử miễn phí 14 ngày và đơn giản hóa quy trình tích hợp dữ liệu của bạn. Hãy kiểm tra các chi tiết giá để hiểu kế hoạch nào đáp ứng tất cả các nhu cầu kinh doanh của bạn. 14-day free trial and simplify your Data Integration process. Do check out the pricing details to understand which plan fulfills all your business needs.

Hãy cho chúng tôi về kinh nghiệm của bạn khi thực hiện hoạt động tham gia bên trong MongoDB! Chia sẻ suy nghĩ của bạn với chúng tôi trong phần bình luận dưới đây.