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

87
Views
MongoDB - Muchos conteos usando una matriz

Cómo hacer muchos conteos usando una matriz como entrada en Mongoose y devolver una matriz

Estoy tratando de usar el código a continuación, pero no funciona, list2 regresa como vacío.

 list = ['Ann', 'Bob', 'John', 'Karl']; list2 = []; for(let i = 0; i < list.length; i++) { Clients.count({name: list[i]}, function(err, doc){ list2.push(doc); }) } return list2
over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Podría ejecutar una canalización de agregación de la siguiente manera:

 list = ['Ann', 'Bob', 'John', 'Karl']; list2 = []; Clients.aggregate([ { "$match": { "name": { "$in": list } } }, { "$group": { "_id": "$name", "count": { "$sum": 1 } } }, { "$group": { "_id": null, "list2": { "$push": { "name": "$_id", "count": "$count" } } } } ]).exec(function(err, results) { list2 = results[0].list2; console.log(list2); });
over 4 years ago · Santiago Trujillo Report

0

const async = require('async'); var list = ['Ann', 'Bob', 'John', 'Karl']; async.map(list, function(item, callback) { result = {}; Clients.count({name: item}, function(err, data) { result[item] = data || 0; return callback(null, result); }); }, function(err, data) { console.log(data); });
over 4 years ago · Santiago Trujillo Report

0

Aquí hay otra forma basada en la respuesta de Med Lazhari

 const async = require('async'); var list = ['Ann', 'Bob', 'John', 'Karl']; var counting = function (item, doneCallback) { var query = Clients.count({name: item}); query.then(function (doc) { return doneCallback(null, doc); }); }; async.map(list, counting, function(err, data) { console.log(data); });
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!