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

205
Vistas
mongodb: coincide si un grupo de valores de una matriz está en otra matriz determinada [con agregación]

Estoy buscando una solución desde hace 3 horas y aún no la consigo.

Tengo la siguiente colección:

 {text: 'random text 1', indexes:[1,2] }, {text: 'random text 2', indexes:[1,3] }, {text: 'random text 3', indexes:[2,4] },

y me gustaría tener solo los documentos que tienen todos los valores de índice en una matriz determinada como, por ejemplo [1,2,4]

usando el ejemplo anterior, me gustaría tener el siguiente resultado:

 {text: 'random text 1', indexes:[1,2] }, {text: 'random text 3', indexes:[2,4] },

[1,2] está en [1,2,4] -> Aceptar

[1,3] no está en [1,2,4] debido a 3 -> No está bien

[1,4] está en [1,2,4] -> Aceptar

¿Alguna idea? ¡gracias por tu respuesta! :)

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

0

Puedes usar una de estas etapas de $match :

  • Usando $setIsSubset en $expr :
 { "$match": { "$expr": { "$setIsSubset": ["$indexes",[1,2,4]] } } }

Ejemplo aquí

  • Usando $elemMatch y doble negación ( $not y $nin ):
 { "$match": { "indexes": { "$not": { "$elemMatch": { "$nin": [1,2,4] } } } } }

Ejemplo aquí

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