ventajas que español desventajas caracteristicas mongodb left-join aggregation-framework sharding

que - MongoDB usará Sharding con el operador de agregación de $ lookup



mongodb español (1)

Como lo indican los documentos que cita, no puede usar $lookup en una colección fragmentada. Por lo tanto, la mejor práctica alternativa es realizar la búsqueda usted mismo en una consulta separada.

  1. Realice su consulta aggregate .
  2. Extraiga los valores "localField" de los resultados de su consulta en una matriz, posiblemente utilizando Array#map .
  3. Realice una consulta de búsqueda en la colección "from", utilizando una consulta como {foreignField: {$in: localFieldArray}}
  4. Combina tus resultados en el formato que necesites.

No permita que la limitación de $lookup detenga de las colecciones de fragmentos que lo requieren para la escalabilidad, solo realice la función de búsqueda usted mismo.

$lookup es nueva en MongoDB 3.2. Realiza una unión externa izquierda a una colección no compartida en la misma base de datos para filtrar los documentos de la colección "unida" para su procesamiento.

Para usar $lookup , la colección from no se puede fragmentar.

Por otro lado, la fragmentación es un enfoque de escala horizontal útil.

¿Cuál es la mejor práctica para usarlos juntos?