使用GET请求调用聚合函数

时间:2019-04-29 10:38:37

标签: node.js mongodb mongoose aggregate

我正在尝试从一个GET请求中调用聚合函数,但响应为EMPTY。

有人可以帮我吗?这是我的代码:

聚合功能:

function t1(callback) {
  userScheme.aggregate([
 // Unwind the array
{ "$unwind": "$result"},

// Group on the "_id" and "name" and $sum "value"
{ "$group": {
   "_id": { 
       //"_id": "$_id",
       "game": "$result.game"
   }, 
   "time": { "$avg": "$result.time" } 
}},

// Put things into an array for "nice" processing
{ "$group": {
   "_id": "$_id",
   "values": { "$push": { 
       "game": "$_id.game",
       "time": "$time"
   }}
}}
 ] , callback) 
}

我的GET请求:

userRoutes.route('/getavg').get(function(req, res) {
    t1(function(err, user) {
        if (err)
                res.status(500).send("Internal error occurred.");
        else
                res.json(user);
    })
});

我做错了什么?

1 个答案:

答案 0 :(得分:1)

代码看起来不错。

我建议您尝试简化代码。 首先用

代替get函数
Table1

然后查看是否收到响应或是否看到控制台错误。 如果您仍然不这样做,那就是路由问题