Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

369
Vistas
¿Mongo DB agregado $ búsqueda lento agregar índice a todos los documentos?

Tengo dos colecciones en mi base de datos Mongo DB. Soy bastante nuevo en Mongo DB en general. Cada uno de mi colección dice que hay 1 índice, ahora, proveniente de una base de datos Laravel y SQL donde puedo mejorar el rendimiento agregando un índice con ->index() en mi migración para mis columnas, supongo que hay una manera de hacer algo similar para mis documentos Mongo DB y los campos clave/valor.

Tengo dos colecciones:

  • data_source_one (n.º de documentos: 5300, tamaño total del documento: 1,2 MB)
  • data_source_two (n.º de documentos: 6800, tamaño total del documento: 139,8 MB)

Estoy usando la búsqueda de $ (agregación) para hacer una combinación efectiva en mis dos tablas en función de un campo común, pero a diferencia de una base de datos SQL tradicional, se tarda más de 25 segundos en completar la solicitud.

Me pregunto cómo puedo mejorar esencialmente el rendimiento al agregar un índice a todos mis documentos en cada colección a mi clave created_at (personalizada) y otros campos.

 const client = new MongoClient(process.env.DB_CONNECTION) await client.connect() const results = await client.db().collection('data_source_one').aggregate([{ $lookup: { from: 'data_source_two', localField: 'created_at', foreignField: 'created_at', as: 'combined_results' } }]).toArray();
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Sí, puede usar índices en campos específicos para lograr una ejecución más eficiente. MongoDB usa índices para realizar consultas eficientes de sus colecciones. Sin índices, MongoDB debe realizar un escaneo de colección, es decir, escanear todos los documentos de una colección, para seleccionar aquellos documentos que coincidan con la declaración de consulta. Si existe un índice apropiado para una consulta, MongoDB puede usar el índice para limitar la cantidad de documentos que debe inspeccionar. Puedes consultar la documentación aquí .

En su caso, si está uniendo dos tablas en función de un campo común, puede agregar un índice a ese campo para lograr una ejecución más rápida. Puede consultar la documentación sobre cómo optimizar su canalización de agregación aquí . Sin embargo, probablemente todavía no será tan rápido como las instrucciones JOIN en SQL.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda