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 empty an array in MongoDB?
- How to use watch in MongoDB?
- How to list all indexes in MongoDB?
- How to use unwind in MongoDB?
- How to find by id in MongoDB?
- How to use findone in MongoDB?
- How to use triggers in MongoDB?
- How to insert new document into MongoDB?
- How to use transactions in MongoDB?
- How to use MongoDB queue?
See more codes...