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

236
Vistas
Cómo hacer una búsqueda en 2 colecciones diferentes (con paginación) en MongoDB

Tengo dos colecciones, una es Users y la otra es Posts . Intenté find() en ambas colecciones y combinar el resultado, pero tuve un problema en la paginación. Mi pregunta es cómo puedo lograr esto en una consulta para poder paginar.

Ejemplo:

 Users: { _id: 1 username: 'test', type: 'users' ... }

Publicaciones:

 { _id: 1, name: 'test3', type: 'posts', ... }

Y cuando busco, por ejemplo, 'prueba', debo obtener datos de usuario y publicar datos con 'prueba' en el nombre de usuario/nombre.

Además, probé agregar pero no hay nada común en las dos tablas para unir. Y tengo una pregunta, ¿provocarán problemas de rendimiento para muchas búsquedas?

Cualquier ayuda es apreciada. Gracias

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Puede usar la etapa de agregación $unionWith . Realiza una unión de dos colecciones.

  • $unionWith para realizar la unión de dos colecciones. Tenga en cuenta que $unionWith está disponible a partir de la versión 4.2 de MongoDB.
  • $match con $regex para filtrar solo los documentos en los que el campo de nombre de usuario o nombre contiene una cadena específica. Tenga en cuenta que $options: "i" hará que la búsqueda no distinga entre mayúsculas y minúsculas. Si desea una búsqueda que distinga entre mayúsculas y minúsculas, simplemente elimine $options: "i" de la consulta.
 db.users.aggregate([ { "$unionWith": "posts" }, { "$match": { "$or": [ { "username": { "$regex": "test", "$options": "i" } }, { "name": { "$regex": "test", "$options": "i" } } ] } } ])

ejemplo de trabajo

about 4 years ago · Juan Pablo Isaza 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