Dino Geek, intenta ayudarte

¿Cómo unir dos colecciones en MongoDB?


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.


Genera artículos simplemente para optimizar tu SEO
Genera artículos simplemente para optimizar tu SEO





DinoGeek ofrece artículos sencillos sobre tecnologías complejas

¿Desea ser citado en este artículo? Es muy sencillo, contáctenos en dino@eiki.fr.

CSS | NodeJS | DNS | DMARC | MAPI | NNTP | htaccess | PHP | HTTPS | Drupal | WEB3 | LLM | Wordpress | TLD | Nombre de dominio | IMAP | TCP | NFT | MariaDB | FTP | Zigbee | NMAP | SNMP | SEO | E-Mail | LXC | HTTP | MangoDB | SFTP | RAG | SSH | HTML | ChatGPT API | OSPF | JavaScript | Docker | OpenVZ | ChatGPT | VPS | ZIMBRA | SPF | UDP | Joomla | IPV6 | BGP | Django | Reactjs | DKIM | VMWare | RSYNC | Python | TFTP | Webdav | FAAS | Apache | IPV4 | LDAP | POP3 | SMTP

| Whispers of love (API) | Déclaration d'Amour |






Aviso legal / Condiciones generales de uso