Hướng dẫn mongodb join query - truy vấn tham gia mongodb

Theo tài liệu, $ Tra cứu chỉ có thể tham gia một bộ sưu tập bên ngoài.

Nội phân chính

  • Mục lục
  • MongoDB là gì?
  • Các bước để tham gia hai bộ sưu tập trong MongoDB
  • Làm thế nào MongoDB tham gia hai bộ sưu tập với các điều kiện cụ thể bằng Pipeline & $ Tra cứu?
  • Làm thế nào để MongoDB tham gia hai bộ sưu tập với mệnh đề WHERE?
  • Sử dụng la bàn để tham gia hai bộ sưu tập trong MongoDB

Nội phân chính

  • Mục lục
  • MongoDB là gì?
  • Các bước để tham gia hai bộ sưu tập trong MongoDB
  • Làm thế nào MongoDB tham gia hai bộ sưu tập với các điều kiện cụ thể bằng Pipeline & $ Tra cứu?
  • Làm thế nào để MongoDB tham gia hai bộ sưu tập với mệnh đề WHERE?
  • Sử dụng la bàn để tham gia hai bộ sưu tập trong MongoDB

Những gì bạn có thể làm là kết hợp userInfo

db.sivaUserInfo.aggregate([
    {$lookup:
        {
           from: "sivaUserRole",
           localField: "userId",
           foreignField: "userId",
           as: "userRole"
        }
    },
    {
        $unwind:"$userRole"
    },
    {
        $project:{
            "_id":1,
            "userId" : 1,
            "phone" : 1,
            "role" :"$userRole.role"
        }
    },
    {
        $out:"sivaUserTmp"
    }
])


db.sivaUserTmp.aggregate([
    {$lookup:
        {
           from: "sivaUser",
           localField: "userId",
           foreignField: "userId",
           as: "user"
        }
    },
    {
        $unwind:"$user"
    },
    {
        $project:{
            "_id":1,
            "userId" : 1,
            "phone" : 1,
            "role" :1,
            "email" : "$user.email",
            "userName" : "$user.userName"
        }
    }
])
0 trong một bộ sưu tập, như ví dụ được cung cấp dựa trên lược đồ DB quan hệ. Mongo là cơ sở dữ liệu NoQuery - và điều này đòi hỏi cách tiếp cận khác nhau để quản lý tài liệu.

Vui lòng tìm truy vấn dưới 2 bước, kết hợp UserInfo với Userrole - tạo bộ sưu tập tạm thời mới được sử dụng trong truy vấn cuối cùng để hiển thị dữ liệu kết hợp. Trong truy vấn cuối cùng có một tùy chọn để sử dụng $ out và tạo bộ sưu tập mới với dữ liệu được hợp nhất để sử dụng sau.

Tạo bộ sưu tập

db.sivaUser.insert(
{    
    "_id" : ObjectId("5684f3c454b1fd6926c324fd"),
        "email" : "",
        "userId" : "AD",
        "userName" : "admin"
})

//"userinfo"
db.sivaUserInfo.insert(
{
    "_id" : ObjectId("56d82612b63f1c31cf906003"),
    "userId" : "AD",
    "phone" : "0000000000"
})

//"userrole"
db.sivaUserRole.insert(
{
    "_id" : ObjectId("56d82612b63f1c31cf906003"),
    "userId" : "AD",
    "role" : "admin"
})

"Tham gia" tất cả họ :-)

db.sivaUserInfo.aggregate([
    {$lookup:
        {
           from: "sivaUserRole",
           localField: "userId",
           foreignField: "userId",
           as: "userRole"
        }
    },
    {
        $unwind:"$userRole"
    },
    {
        $project:{
            "_id":1,
            "userId" : 1,
            "phone" : 1,
            "role" :"$userRole.role"
        }
    },
    {
        $out:"sivaUserTmp"
    }
])


db.sivaUserTmp.aggregate([
    {$lookup:
        {
           from: "sivaUser",
           localField: "userId",
           foreignField: "userId",
           as: "user"
        }
    },
    {
        $unwind:"$user"
    },
    {
        $project:{
            "_id":1,
            "userId" : 1,
            "phone" : 1,
            "role" :1,
            "email" : "$user.email",
            "userName" : "$user.userName"
        }
    }
])

Có một số cơ sở dữ liệu NoQuery ngoài kia, nhưng MongoDB được sử dụng phổ biến nhất và nó có sẵn cả dưới dạng dịch vụ đám mây và để triển khai trên các hệ thống tự quản lý. Mặc dù MongoDB không phải là RDBMS (Hệ thống quản lý cơ sở dữ liệu quan hệ) và không cung cấp các phương thức tham gia rộng rãi, bạn có thể sử dụng một số nhà khai thác khác để tham gia hai bộ sưu tập trong MongoDB. & NBSP;Cloud Service and for Deployment on Self-Managed Systems. Even though MongoDB isn’t an RDBMS (Relational Database Management System) and doesn’t offer extensive join methods, you can use several other operators to join two collections in MongoDB. 

Khi hoàn chỉnh hướng dẫn của bài viết này, bạn sẽ tìm hiểu chi tiết cách MongoDB tham gia hai bộ sưu tập.

Mục lục

  • MongoDB là gì?
  • Các bước để tham gia hai bộ sưu tập trong MongoDB
  • Làm thế nào MongoDB tham gia hai bộ sưu tập với các điều kiện cụ thể bằng Pipeline & $ Tra cứu?
  • Làm thế nào MongoDB tham gia hai bộ sưu tập với các điều kiện cụ thể bằng Pipeline & $ Tra cứu?
  • Làm thế nào để MongoDB tham gia hai bộ sưu tập với mệnh đề WHERE?
  • Sử dụng la bàn để tham gia hai bộ sưu tập trong MongoDB
  • Những gì bạn có thể làm là kết hợp userInfo
    db.sivaUserInfo.aggregate([
        {$lookup:
            {
               from: "sivaUserRole",
               localField: "userId",
               foreignField: "userId",
               as: "userRole"
            }
        },
        {
            $unwind:"$userRole"
        },
        {
            $project:{
                "_id":1,
                "userId" : 1,
                "phone" : 1,
                "role" :"$userRole.role"
            }
        },
        {
            $out:"sivaUserTmp"
        }
    ])
    
    
    db.sivaUserTmp.aggregate([
        {$lookup:
            {
               from: "sivaUser",
               localField: "userId",
               foreignField: "userId",
               as: "user"
            }
        },
        {
            $unwind:"$user"
        },
        {
            $project:{
                "_id":1,
                "userId" : 1,
                "phone" : 1,
                "role" :1,
                "email" : "$user.email",
                "userName" : "$user.userName"
            }
        }
    ])
    
    0 trong một bộ sưu tập, như ví dụ được cung cấp dựa trên lược đồ DB quan hệ. Mongo là cơ sở dữ liệu NoQuery - và điều này đòi hỏi cách tiếp cận khác nhau để quản lý tài liệu.

MongoDB là gì?

Hướng dẫn mongodb join query - truy vấn tham gia mongodb

Các bước để tham gia hai bộ sưu tập trong MongoDB

Làm thế nào MongoDB tham gia hai bộ sưu tập với các điều kiện cụ thể bằng Pipeline & $ Tra cứu?non-relational Database Management System that is Open Source and Cross-Platform. MongoDB, which was founded in 2009, employs the Document-Oriented Database Model to organize data into documents and collections rather than tables. This enables it to store various types of data. Furthermore, it is distributed under the Server Side Public License (SSPL), which supports a novel mechanism for storing and retrieving large amounts of data. MongoDB is a straightforward and simple-to-configure database that provides high performance, automatic scalability, and high availability.

Làm thế nào để MongoDB tham gia hai bộ sưu tập với mệnh đề WHERE?

Sử dụng la bàn để tham gia hai bộ sưu tập trong MongoDB $lookup (Aggregation) function. $lookup(Aggregation) creates an outer left join with another collection and helps to filter data from merged data. If documents are part of a “joined” collection, the $lookup (Aggregation) function will return documents in the form of a subarray of the original collection.

Những gì bạn có thể làm là kết hợp userInfo
db.sivaUserInfo.aggregate([
    {$lookup:
        {
           from: "sivaUserRole",
           localField: "userId",
           foreignField: "userId",
           as: "userRole"
        }
    },
    {
        $unwind:"$userRole"
    },
    {
        $project:{
            "_id":1,
            "userId" : 1,
            "phone" : 1,
            "role" :"$userRole.role"
        }
    },
    {
        $out:"sivaUserTmp"
    }
])


db.sivaUserTmp.aggregate([
    {$lookup:
        {
           from: "sivaUser",
           localField: "userId",
           foreignField: "userId",
           as: "user"
        }
    },
    {
        $unwind:"$user"
    },
    {
        $project:{
            "_id":1,
            "userId" : 1,
            "phone" : 1,
            "role" :1,
            "email" : "$user.email",
            "userName" : "$user.userName"
        }
    }
])
0 trong một bộ sưu tập, như ví dụ được cung cấp dựa trên lược đồ DB quan hệ. Mongo là cơ sở dữ liệu NoQuery - và điều này đòi hỏi cách tiếp cận khác nhau để quản lý tài liệu.

Vui lòng tìm truy vấn dưới 2 bước, kết hợp UserInfo với Userrole - tạo bộ sưu tập tạm thời mới được sử dụng trong truy vấn cuối cùng để hiển thị dữ liệu kết hợp. Trong truy vấn cuối cùng có một tùy chọn để sử dụng $ out và tạo bộ sưu tập mới với dữ liệu được hợp nhất để sử dụng sau.

{
   $lookup:
     {
       from: ,
       localField: ,
       foreignField: ,
       as: 
     }
}

Tạo bộ sưu tập

  • "Tham gia" tất cả họ :-) It describes the collection within an identical database that should be used for executing the join, but with sharded collection restrictions.
  • Có một số cơ sở dữ liệu NoQuery ngoài kia, nhưng MongoDB được sử dụng phổ biến nhất và nó có sẵn cả dưới dạng dịch vụ đám mây và để triển khai trên các hệ thống tự quản lý. Mặc dù MongoDB không phải là RDBMS (Hệ thống quản lý cơ sở dữ liệu quan hệ) và không cung cấp các phương thức tham gia rộng rãi, bạn có thể sử dụng một số nhà khai thác khác để tham gia hai bộ sưu tập trong MongoDB. & NBSP; This field represents the input field from the documents to the stage of $lookup, which performs an equivalence match between the local-field and the foreign-field from the collection ‘from.’ If an input document does not have a value for a local-field, then this operator will give the field a null value for matching purposes.
  • Khi hoàn chỉnh hướng dẫn của bài viết này, bạn sẽ tìm hiểu chi tiết cách MongoDB tham gia hai bộ sưu tập. This field contains data from the documents in the ‘from’ collection with which an equivalence match can be made between the foreignField and the localField. When a document in the collection ‘from’ does not have a foreignField value, this operator will set the field to null for further matching purposes.
  • Làm thế nào để tham gia hai bộ sưu tập trong MongoDB? It specifies the name of the array field that needs to be added to the input documents. More so, a new array field also includes matching documents from the collection ‘from.’ The prevailing field will be overwritten if the stated name already exists in the input document.

Trong SQL, khi hoạt động tham gia được thực hiện, kết quả luôn là một hàng mới kết hợp tất cả các trường có từ các bảng cha mẹ và nước ngoài. Tuy nhiên, trong MongoDB, các tài liệu đầu ra được bổ sung bởi một loạt các tài liệu thu thập gốc.

Các bước để tham gia hai bộ sưu tập trong MongoDB

Để thực hiện MongoDB tham gia hai bộ sưu tập, bạn phải sử dụng toán tử tra cứu $. Nó được định nghĩa là một giai đoạn thực hiện tham gia bên ngoài bên trái với một bộ sưu tập khác và hỗ trợ lọc dữ liệu từ các tài liệu được nối. $lookup operator. It is defined as a stage that executes a left outer join with another collection and aids in filtering data from joined documents.

Ví dụ: nếu người dùng yêu cầu tất cả các lớp từ tất cả học sinh, thì truy vấn dưới đây có thể được viết:

Students.aggregate([{
$lookup: {
From: ‘Grades’,
LocalField: ‘Student_id’,
foreignField: ‘Stud_id’,
as: ‘Student_grade’
}}]);

Từ truy vấn trên, chúng ta có thể thấy rằng tham số ban đầu có tên 'từ' chỉ định bộ sưu tập được nối với cái hiện tại và 'LocalField' chỉ định khóa trong bộ sưu tập hiện tại, được khớp với Chìa khóa trong một bộ sưu tập khác của tham số 'FRIAUNfield'. Để lấy dữ liệu, student_id từ học sinh và stud_id từ các lớp được kết hợp và tham gia. Ngoài ra, tham số cuối ‘As, được thêm vào tên mã được đặt tên vào dữ liệu.‘from’ specifies the collection which is to be joined with the present one, and the ‘localField’ specifies the key in the current collection, which is to be matched with the foreign key in another collection by the ‘foreignField’ parameter. For retrieving the data, Student_id from Students and stud_id from Grades are matched and joined. In addition, the end parameter ‘as’ is added as a code-named to the data.

Điều đáng chú ý là ở đây, trong mỗi bản ghi của dữ liệu đầu ra từ truy vấn ở trên, dữ liệu từ bảng được nối cũng xuất hiện dưới dạng phần tử chính trong một mảng. Tương tự, mọi hàng từ dữ liệu đầu ra từ truy vấn trên sẽ hiển thị như sau:

{_ID: String, Quantity: Number, Student_id: String, Student_grade: Array, Stud_id: String, Student_name: String}

Dữ liệu được tham gia bởi truy vấn sẽ là yếu tố đầu tiên trong mảng điểm.

Thí dụ

Ví dụ sau đây tạo ra một bộ dữ liệu mẫu và chèn một số tài liệu để thực hiện MongoDB tham gia hai bộ sưu tập:

db.address.insertMany(
    [
        {
            "name": "Bob",
            "blk_no": 22,
            "street" : "dewey street",
            "city" : "United States of America"
        },
        {
            "name": "Jack",
            "blk_no": 25,
            "street" : "gordon street",
            "city" : "New Zealand"
        }
    ]
);
{
        "acknowledged" : true,
        "insertedIds" : [
                ObjectId("613594cdb59313217373673c"),
                ObjectId("613594cdb59313217373673d")
        ]
}

Một vài tài liệu đã được chèn vào bộ sưu tập địa chỉ. Bây giờ, hãy để thêm một vài tài liệu vào một bộ sưu tập khác:

db.userInfo.insertMany(
    [
        {
            "contact_name": "Bob",
            "age": 27,
            "sex" : "male",
            "citizenship" : "Filipino"
        },
        {
            "contact_name": "Jack",
            "age": 22,
            "sex" : "male",
            "citizenship" : "Filipino"
        }
    ]
);
{
        "acknowledged" : true,
        "insertedIds" : [
                ObjectId("613594dbb59313217373673e"),
                ObjectId("613594dbb59313217373673f")
        ]
}

Bộ sưu tập UserInfo được điền với một số tài liệu.userInfo collection was populated with some documents.

Điều quan trọng cần lưu ý là trường tên trong bộ sưu tập địa chỉ có cùng giá trị với trường contact_name trong bộ sưu tập userInfo. name field in the address collection has the same values as the contact_name field in the userInfo collection.

Áp dụng chức năng Tra cứu $, chúng tôi tìm thấy một trận đấu bình đẳng như sau:

098db.userInfo.aggregate([
    { $lookup:
        {
           from: "address",
           localField: "contact_name",
           foreignField: "name",
           as: "address"
        }
    }
]).pretty();
Output:
{
        "_id" : ObjectId("613594dbb59313217373673e"),
        "contact_name" : "Bob",
        "age" : 27,
        "sex" : "male",
        "citizenship" : "Filipino",
        "address" : [
                {
                        "_id" : ObjectId("613594cdb59313217373673c"),
                        "name" : "Bob",
                        "blk_no" : 22,
                        "street" : "dewey street",
                        "city" : "United States of America"
                }
        ]
}
{
        "_id" : ObjectId("613594dbb59313217373673f"),
        "contact_name" : "Jack",
        "age" : 22,
        "sex" : "male",
        "citizenship" : "Filipino",
        "address" : [
                {
                        "_id" : ObjectId("613594cdb59313217373673d"),
                        "name" : "Jack",
                        "blk_no" : 25,
                        "street" : "gordon street",
                        "city" : "New Zealand"
                }
        ]
}

Chúng tôi đã khớp trường tên và trường contact_name của hai bộ sưu tập này. Sau đó, bạn có thể thấy đầu ra nơi chúng tôi tham gia hai bộ sưu tập. Đây là cách đơn giản nhất để thực hiện MongoDB tham gia hai bộ sưu tập từ cùng một cơ sở dữ liệu.

Dữ liệu HEVO là một đường ống dữ liệu không mã của sự lựa chọn của bạn. Nó sẽ tự động hóa luồng dữ liệu của bạn trong vài phút mà không cần viết bất kỳ dòng mã nào. Kiến trúc chịu lỗi của nó đảm bảo rằng dữ liệu của bạn an toàn và nhất quán. HEVO cung cấp cho bạn một giải pháp thực sự hiệu quả và hoàn toàn tự động để quản lý dữ liệu trong thời gian thực và luôn có dữ liệu sẵn sàng phân tích. & NBSP;including 40+ Free sources) and will let you directly load data from sources like MongoDB to a Data Warehouse or the Destination of your choice. It will automate your data flow in minutes without writing any line of code. Its fault-tolerant architecture makes sure that your data is secure and consistent. Hevo provides you with a truly efficient and fully automated solution to manage data in real-time and always have analysis-ready data. 

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

Hãy cùng nhìn vào một số tính năng nổi bật của Hevo:

  • Được quản lý đầy đủ: Nó không yêu cầu quản lý và bảo trì vì Hevo là một nền tảng hoàn toàn tự động.: It requires no management and maintenance as Hevo is a fully automated platform.
  • Chuyển đổi dữ liệu: Nó cung cấp một giao diện đơn giản để hoàn thiện, sửa đổi và làm phong phú dữ liệu bạn muốn truyền. & NBSP;: It provides a simple interface to perfect, modify, and enrich the data you want to transfer. 
  • Thời gian thực: Hevo cung cấp di chuyển dữ liệu thời gian thực. Vì vậy, dữ liệu của bạn luôn sẵn sàng để phân tích.: Hevo offers real-time data migration. So, your data is always ready for analysis.
  • Quản lý lược đồ: HEVO có thể tự động phát hiện lược đồ của dữ liệu đến và ánh xạ nó đến lược đồ đích.: Hevo can automatically detect the schema of the incoming data and maps it to the destination schema.
  • Trình kết nối: HEVO hỗ trợ hơn 100 tích hợp cho các nền tảng SaaS FTP/SFTP, tệp, cơ sở dữ liệu, công cụ BI và đầu nối API & Webhooks gốc. 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; và MySQL, SQL Server, Tokudb, MongoDB, PostgreSQL cơ sở dữ liệu để đặt tên cho một số. & nbsp; & nbsp;: Hevo supports 100+ Integrations to SaaS platforms 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; and MySQL, SQL Server, TokuDB, MongoDB, PostgreSQL Databases to name a few.  
  • 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.
  • 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.
  • Giám sát trực tiếp: Giám sát nâng cao cung cấp cho bạn chế độ xem một cửa để xem tất cả các hoạt động xảy ra trong các đường ống dữ liệu.: Advanced monitoring gives you a one-stop view to watch all the activities that occur within Data Pipelines.
  • 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ợ.: Hevo team is available round the clock to extend exceptional support to its customers through chat, email, and support calls.

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

Làm thế nào MongoDB tham gia hai bộ sưu tập với các điều kiện cụ thể bằng Pipeline & $ Tra cứu?

$ Tra cứu được sử dụng với một đường ống để thực hiện MongoDB tham gia hai bộ sưu tập dựa trên các điều kiện cụ thể yêu cầu biểu thức. is used with a pipeline to perform MongoDB join two collections based on specific conditions requiring expressions.

Chẳng hạn, nếu chúng tôi muốn có được tất cả người dùng với các đơn đặt hàng lớn hơn năm

User.aggregate([{
$lookup: {
 from: 'Orders',
 let: {ID: '$ID'},
 pipeline: [{$match: {
  $expr: {
   $eq: [
    '$User_ID', '$$ID'
   ],
   $gt: [
    '$quantity', 5
   ]
  }}}]
  as: 'OrdersData'
}}]);

Chúng tôi có thể nhanh chóng tham gia các bảng bằng các đường ống trong Tra cứu $.

Làm thế nào để MongoDB tham gia hai bộ sưu tập với mệnh đề WHERE?

Phương thức tổng hợp MongoDB () kết hợp hai bộ sưu tập với mệnh đề WHERE. Bằng cách này, chúng ta có thể tương quan hai lần con.aggregate() method joins two collections with a where clause. By doing this, we can correlate two subqueries.

Các toán tử đường ống cũng được sử dụng để áp dụng điều kiện. Hãy cùng nhìn vào ví dụ sau:

Thí dụ

Trong ví dụ này, chúng tôi tạo hai bộ sưu tập và sau đó chúng tôi áp dụng mệnh đề WHERE để tham gia chúng bằng cách sử dụng tập hợp $ tra cứu.where clause to join them using the $lookup aggregation.

Nguồn hình ảnh

Hai bộ sưu tập, đơn đặt hàng và kho được tạo ra và một vài tài liệu được lưu trữ. Bây giờ chúng tôi kết hợp cả hai bộ sưu tập bằng cách sử dụng một hoạt động tổng hợp.orders, and warehouses are created, and a few documents are stored. We now combine both collections using an aggregation operation.

Nguồn hình ảnh

Như bạn có thể thấy trong điều kiện mệnh đề WHERE, chúng tôi sử dụng hàm đường ống, gán stock_item bằng Order_Item, sau đó thêm stock_data nếu số tiền trong kho có ý nghĩa hơn so với order_qty. stock_item equal to order_item, and then add stock_data if the amount in stock is more significant than the order_qty.

Đây là cách đơn giản nhất để áp dụng nơi các điều khoản để thực hiện MongoDB tham gia hai bộ sưu tập. Tuy nhiên, bạn có thể học các cách khác để làm điều này bằng cách thực hành nhiều hơn.

Sử dụng la bàn để tham gia hai bộ sưu tập trong MongoDB

GUI MongoDB La bàn cho phép bạn truy vấn, tổng hợp và phân tích dữ liệu MongoDB của bạn bằng môi trường trực quan. & NBSP; query, aggregate, and analyze your MongoDB data using a visual environment. 

Hàm tổng hợp tra cứu $ được sử dụng để thực hiện MongoDB tham gia hai bộ sưu tập cho cùng một cơ sở dữ liệu.

Thí dụ

Trong ví dụ này, chúng tôi sẽ học cách kết hợp hai bộ sưu tập cơ sở dữ liệu bằng cách sử dụng tổng hợp $ tra cứu.

Trong la bàn, bạn có thể áp dụng hoạt động tổng hợp bằng cách làm theo các bước sau:Compass, you can apply the aggregation operation by following these steps:

  • Mở la bàn MongoDB.
Nguồn hình ảnh
  • Hai bộ sưu tập, đơn đặt hàng và kho được tạo ra và một vài tài liệu được lưu trữ. Bây giờ chúng tôi kết hợp cả hai bộ sưu tập bằng cách sử dụng một hoạt động tổng hợp.
  • Nguồn hình ảnh
    • Như bạn có thể thấy trong điều kiện mệnh đề WHERE, chúng tôi sử dụng hàm đường ống, gán stock_item bằng Order_Item, sau đó thêm stock_data nếu số tiền trong kho có ý nghĩa hơn so với order_qty.
    • Đây là cách đơn giản nhất để áp dụng nơi các điều khoản để thực hiện MongoDB tham gia hai bộ sưu tập. Tuy nhiên, bạn có thể học các cách khác để làm điều này bằng cách thực hành nhiều hơn.Documents page, click Aggregation.
Nguồn hình ảnh

Hai bộ sưu tập, đơn đặt hàng và kho được tạo ra và một vài tài liệu được lưu trữ. Bây giờ chúng tôi kết hợp cả hai bộ sưu tập bằng cách sử dụng một hoạt động tổng hợp.pipeline stage” after you select Aggregation where there’s a dropdown list and where you have to choose which operation to perform; we choose the $lookup function.

Nguồn hình ảnh

Như bạn có thể thấy trong điều kiện mệnh đề WHERE, chúng tôi sử dụng hàm đường ống, gán stock_item bằng Order_Item, sau đó thêm stock_data nếu số tiền trong kho có ý nghĩa hơn so với order_qty.

Đây là cách đơn giản nhất để áp dụng nơi các điều khoản để thực hiện MongoDB tham gia hai bộ sưu tập. Tuy nhiên, bạn có thể học các cách khác để làm điều này bằng cách thực hành nhiều hơn.

Sử dụng la bàn để tham gia hai bộ sưu tập trong MongoDB

GUI MongoDB La bàn cho phép bạn truy vấn, tổng hợp và phân tích dữ liệu MongoDB của bạn bằng môi trường trực quan. & NBSP;

Hàm tổng hợp tra cứu $ được sử dụng để thực hiện MongoDB tham gia hai bộ sưu tập cho cùng một cơ sở dữ liệu.

Thí dụ

Trong ví dụ này, chúng tôi sẽ học cách kết hợp hai bộ sưu tập cơ sở dữ liệu bằng cách sử dụng tổng hợp $ tra cứu.MongoDB and a wide variety of Desired Destinations, with a few clicks. Hevo Data with its strong integration with 100+ sources (including 40+ free sources) allows you to not only export data from your desired data sources & load it to the destination of your choice, but also transform & enrich your data to make it analysis-ready so that you can focus on your key business needs and perform insightful analysis using BI tools.

Trong la bàn, bạn có thể áp dụng hoạt động tổng hợp bằng cách làm theo các bước sau:14-day free trial and experience the feature-rich Hevo suite first hand. You can also have a look at the unbeatable pricing that will help you choose the right plan for your business needs.

Mở la bàn MongoDB.