sql >> Base de Datos >  >> NoSQL >> MongoDB

Buscar en múltiples colecciones en MongoDB

Esta respuesta está desactualizada. Desde la versión 3.2, MongoDB tiene soporte limitado para uniones externas izquierdas con el operador de agregación $lookup

MongoDB no realiza consultas que abarcan múltiples colecciones, punto. Cuando necesite unir datos de varias colecciones, debe hacerlo en el nivel de la aplicación realizando varias consultas.

  1. Colección de consultas A
  2. Obtenga las claves secundarias del resultado y colóquelas en una matriz
  3. Colección de consultas B pasando esa matriz como el valor del $in-operator
  4. Unir los resultados de ambas consultas mediante programación en la capa de aplicación

Tener que hacer esto debería ser más bien la excepción que la norma. Cuando con frecuencia necesita emular JOIN como ese, significa que todavía está pensando demasiado en lo relacional cuando diseña el esquema de su base de datos o que sus datos simplemente no son adecuados para el concepto de almacenamiento basado en documentos de MongoDB.