如何将聚合函数的查询结果存储到变量中,并在其他函数中使用它。 我有这个功能来计算记录:
const utilitiesFunctions = {};
utilitiesFunctions.conteoBatch = (callback) => {
workOrder.aggregate({
$unwind: "$batches"
}, {
$group: {
_id: "$batches",
total: {
$sum: 1
}
}
}, function(err, conteos) {
callback(conteos);
});
}
module.exports = utilitiesFunctions;
结果是:
[ { _id: 591c9fc757ddf611fc7c5840, total: 2 },
{ _id: 591c9a9e5683f81b8c48e44c, total: 1 } ]
我使用LOOP搜索具有较低计数的_id。如何将id传递给变量以在其他验证函数中使用它,如下所示:
var idb = utilitiesFunctions.conteoBatch();//idb=591c9fc757ddf611fc7c5840
答案 0 :(得分:0)
如果我理解正确你需要的东西必须是这样的
let objWithSmallestCount = {};
let results = utilitiesFunctions.conteoBatch();
让我们说你找到最小数量的算法是isSmallestCount()
for (let result of results) {
if (isSmallestCount(result.total) {
objWithSmallestCount = result;
}
}
从这一点开始,你可以随心所欲地做任何事情
let id = objWithSmallestCount._id;