此功能的结果有问题:
function processData(_streams){
var Device info=[]
[...]
var query2 = EspDataModel.aggregate([
{$project: {id:1,mac:1,rssi:1, datedifference:{$subtract:[ new Date(1541334198314), "$timestamp"]}}},
{$match: {datedifference:{$lt:60000}}},
{$group:{
_id:{
id: "$id",
mac: "$mac" },
AVGrssi: {$avg:"$rssi"}
}}
], function(err,result){
result.forEach(function(item){
DeviceInfo.push({"id": item._id.id, "mac": item._id.mac, "rssi":item.AVGrssi})
})
})
return DeviceInfo
}
console.log(processData(2))
在函数中,我必须将结果推送到DeviceInfo中,最后将其返回。有没有一种方法可以使return语句等待query2完成? 谢谢。