mongodbHow to join two collections in MongoDB?
MongoDB provides the $lookup operator to join two collections. This operator takes two parameters, from and localField. from specifies the collection to join with and localField specifies the field from the current collection to match with the from collection.
Example
db.collection1.aggregate([
{
$lookup:
{
from: "collection2",
localField: "field1",
foreignField: "field2",
as: "joined_data"
}
}
])
Output example
{
"_id" : ObjectId("5f3d7f9f8f8d7f3d7f9f8d7"),
"field1" : "value1",
"joined_data" : [
{
"_id" : ObjectId("5f3d7f9f8f8d7f3d7f9f8d7"),
"field2" : "value1",
"other_field" : "value2"
}
]
}
Code explanation
$lookup: The MongoDB operator used to join two collections.from: The collection to join with.localField: The field from the current collection to match with thefromcollection.foreignField: The field from thefromcollection to match with the current collection.as: The name of the new array field to add to the documents.
Helpful links
More of Mongodb
- How to use unwind in MongoDB?
- How to use transactions in MongoDB?
- How to list MongoDB users?
- How to bind IP addresses for MongoDB server?
- How to empty an array in MongoDB?
- How to remove a field from MongoDB?
- What is MongoDB default port?
- How to work with time series data in MongoDB?
- How to use watch in MongoDB?
See more codes...