MongoDB no proporciona ninguna operación directa para unir dos colecciones. Sin embargo, puedes lograr esto utilizando el operador “$lookup” en MongoDB. El operador $lookup realiza un JOIN izquierdo con otra colección.
Aquí tienes un ejemplo de cómo usar el operador $lookup para unir dos colecciones.
Primera colección (orders):
{ _id: 1, product_id: 100, status: ‘In Progress’ } { _id: 2, product_id: 200, status: ‘Completed’ } { _id: 3, product_id: 300, status: ‘Pending’ }Segunda colección (products):
{ _id: 100, product_name: ‘Laptop’, price: 2000 } { _id: 200, product_name: ‘Mouse’, price: 200 } { _id: 300, product_name: ‘Keyboard’, price: 300 }Podrías unirlas utilizando el operador $lookup de la siguiente manera:
db.orders.aggregate([ { $lookup: { from: ‘products’, // nombre de la segunda colección localField: ‘product_id’, // nombre del campo en la primera colección foreignField: ‘_id’, // nombre del campo en la segunda colección as: ‘product_info’ // nuevo nombre de campo para los datos unidos } } ])Y obtendrías un resultado como este:
{ “_id” : 1, “product_id” : 100, “status” : “In Progress”, “product_info” : [ { “_id” : 100, “product_name” : “Laptop”, “price” : 2000 } ] } // … Adicionalmente, las otras órdenes se mostrarían aquí.Esto te dará todos los datos de ambas colecciones en una sola colección basándose en el campo product_id.