Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

106
Views
Obtenga la cuenta de un valor de un subdocumento dentro de una matriz con mangosta

Tengo Colección de documentos con dni y contacto. El contacto es una matriz que contiene subdocumentos.

imagen del documento

Estoy tratando de obtener el recuento de contactos donde isActive = Y. También necesito consultar la colección según la identificación. Toda la consulta puede ser algo como

Seleccione Count(contact.isActive=Y) donde _id = '601ad0227b25254647823713'

Estoy usando mongo y mangosta por primera vez. Edite la pregunta si no pude explicarla correctamente.

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Puede usar una canalización de agregación como esta:

  • Primera $match para obtener solo los documentos con _id deseado.
  • Luego $unwind para obtener diferentes valores dentro de la matriz.
  • Haga coincidir nuevamente para obtener los valores cuyo valor isActive es Y .
  • Y $group agregando uno por cada documento que existe (es decir, contando documentos con isActive = Y). El recuento se almacena en total de campo.
 db.collection.aggregate([ { "$match": {"id": 1} }, { "$unwind": "$contact" }, { "$match": {"contact.isActive": "Y"} }, { "$group": { "_id": "$id", "total": {"$sum": 1} } } ])

Ejemplo aquí

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!