社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  MongoDB

从nodejs中的mongoDB查询返回数据

prem kumar • 4 年前 • 395 次点击  

我刚开始学习平均堆栈,我卡住了。我需要将下面的查询数据发送到前端。

router.get('/average', (req, res) => {
  Employees.aggregate([
    { $match: { "position": "sen" } },
    {
      $group: {
        _id: null,
        average: {
          $avg: "$salary"
        }
      }
    }
  ]);
});

我试过了,但没用

router.get('/average', (req, res) => {
  Employees.find(function (err, docs) {
    res.json(docs);
  }).aggregate([
    { $match: { "position": "sen" } },
    {
      $group: {
        _id: null,
        average: {
          $avg: "$salary"
        }
      }
    }
  ]);
});
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/51322
 
395 次点击  
文章 [ 1 ]  |  最新文章 4 年前
Aritra Chakraborty
Reply   •   1 楼
Aritra Chakraborty    4 年前

在第一个示例中,您没有将数据发送到response,而在第二个示例中,语法有点混乱。

所以猫鼬返回一个 Promise 和/或 aggregate 值作为响应,因此下面的代码应该可以正常工作:

router.get('/average', (req, res) => {
  Employees.aggregate([
    { $match: { position: 'sen' } },
    {
      $group: {
        _id: null,
        average: {
          $avg: '$salary'
        }
      }
    }
  ])
  .then((result)=>{
    res.json(result)
  })
});

还可以查看mongoose的文档: https://mongoosejs.com/docs/api/model.html#model_Model.aggregate