最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

使用$样品的MongoDB和Node.js的总未返回文档

运维笔记admin11浏览0评论

使用$样品的MongoDB和Node.js的总未返回文档

使用$样品的MongoDB和Node.js的总未返回文档

我是新来的NodeJS和MongoDB,我试图让一个聚合函数运行将选择从数据库中随机文档,并将其返回。我看了所有在互联网上找出我做错了什么,从我可以看到我的代码看起来像它应该。然而,对于某些原因,当我尝试打印结果到控制台,它给了我一个聚集光标对象,我无法找到我想要内任何地方的文件。这是我为聚合函数的代码。

//get a random question
route.get('/question/random', function (req, res) {
database.collection('questions').aggregate(
    [ { $sample: { size: 1} } ],
    function(err, result) {
        console.log(result);
    })
})
回答如下:

这是因为aggregation method返回AggregationCursor除非你遍历它不会返回任何文档。

对于一个简单的重复,你可以这样做:

database.collection('questions').aggregate([{$sample: {size: 1}}]).forEach(console.log);

光标上的forEach()方法将遍历它,并且在该示例将其打印到控制台。

发布评论

评论列表(0)

  1. 暂无评论