0
我有喜欢 1“Taskgroups”收集嵌套请求与和的NodeJS承诺 - 蒙戈
{
"taskgroup" : "M&MS&C_nEmpty",
"arg" : "1", "res" : ["1", "0", "0.1"]
}
和 2“结果”收集的数据结构的两个MongoDB的集合,以MongoDB的
{
"taskgroup" : "M&MS&C_nEmpty",
"annotation" : {
"fullDesc" : "result contains M MS C",
"shortDesc" : "veryAwesomeRes",
"colCount" : 4,
"argCol": "kT",
"cols" : ["M", "MS", "C"]
}
}
我需要制作具有快速端点的nodejs,它将返回
{
"taskgroupsResCount" : [
{
"taskgroup": "DEADBEEF",
"resultCount" : 1337
},
{
"taskgroup": "1CED7EA",
"resultCount" : 7331
}
]
}
即它从一个集合中获得“任务组”的列表并且计数其他集合中每个集合的条目数目。 我写代码“承诺 - 蒙戈”这样的:
var db = pmongo(dbName);
var tgCollection = db.collection(tgCollectionName);
var resCollection = db.collection(resCollectionName);
var resultArray = [];
tgCollection
.find()
.forEach(function(tg){
var taskGname = tg.taskgroup;
console.log(taskGname);
resCollection
.find({"taskgroup" : tg.taskgroup})
.then(function(resArray){ //func1
console.log(resArray.length);
resultArray.push(resArray.length);
});
})
.then(function(){ //func2
console.log(resultArray);
});
但“taskGname”变量是不是从“FUNC1”和“FUNC2”到达不打印任何东西。 我的代码有什么问题?如何以更好的方式重写它?是否有可能在一次请求中使用聚集或其他内容来做到mongodb? 提前致谢。