Mongo返回:Aggregate有空管道

时间:2018-04-21 00:05:58

标签: mongodb express random mongoose aggregate

我想从我的数据库中获取一个随机图像。我尝试使用聚合查询来做到这一点:

exports.findRandomImage = (req, res) => {
    Image.aggregate({ $sample: { size: 1 } }, function (error, image) {
        if (error) {
            console.error(error)
        }
        res.send({
            title: image.title,
            description: image.description,
            url: image.url
        })
    })
}

这会输出两个错误:

  • 错误:聚合具有空管道
  • TypeError:无法读取未定义的属性“title”

当我从mongo命令行执行查询时:

db.images.aggregate({ $sample: {size: 1} })

它正确返回一个Image对象。所以我不明白为什么图像是未定义的(日志图像也返回undefined)。我使用聚合函数错了吗?

提前致谢!

0 个答案:

没有答案