猫鼬从合计中返回的价值

时间:2020-05-03 20:57:08

标签: node.js mongodb mongoose

我有一个包含以下字段的架构:

架构

Brote {
  name:
  content:
  created:
  likes:
}

,我想总结每个文档中喜欢的次数。我的文件中有以下查询:

Index.js

app.get('/brotes', (req, res) => {
  Brote.aggregate( 
    { $group: { 
      _id: null, 
      total: { $sum: "$likes" } } 
    } 
  , function(err, result) {
    console.log(result);
  })
})

但是什么都没有打印到控制台。当我在mongo服务器上运行命令时,它可以工作,并且得到

{ "_id" : null, "total" : 7 }

这是预期的输出。有人可能看到我要去哪里了吗?一般来说,我对mongoDB和Web开发还很陌生,所以我可能只是缺少一些明显的东西。谢谢!

编辑:已解决
错误实际上与查询本身无关(这是正确的),这与我用来获取的URL有关。

1 个答案:

答案 0 :(得分:0)

首先,您应在聚合管道中创建一个数组,如gregation([

Broke.aggregate([
{
  $group: { 
   _id: null, 
   total: { $sum: "$likes" } } 
  }
}
])
.then(result => {
   console.log(result);
}).catch(err => {
//handle error here
});