MongoDB中聚合方法的返回类型是什么?

2023-11-23

我试图根据 mongo 的聚合方法获得一组结果,并根据返回值尝试在所有结果中添加一个属性。聚合方法为我提供了最高的数字。综合体中特定销售点一个月内的销售额。我想将属性 HighestSales 添加到它返回的那些文档中。我的查询是:

var shops = db.data.aggregate([
    {
        $group: {
            _id: "$shopName",
            Sales: { $max: "$Sales" } 
        }
    }
]);

商店变量为我提供了 5 个商店名称,如下所示:

{ "_id" : "Shop1", "Sales" : "$83,000" }
{ "_id" : "Shop2", "Sales" : "$69,000" }..

但是当我尝试循环浏览商店时,它不允许我添加新的属性。我假设的原因是商店不是对象数组。谁能告诉我相同的返回类型是什么?这可以通过其他方式实现吗?


aggregate()方法返回指向聚合管道操作最后阶段生成的文档的游标,或者如果包含解释选项,则返回提供有关聚合操作处理的详细信息的文档。

您需要添加一个toArray()方法到商店变量或结果游标aggregate()方法,例如

var shops = db.data.aggregate([
    {
        $group: {
            _id: "$shopName",
            Sales: { $max: "$Sales" } 
        }
    }
]).toArray();

The toArray()方法返回一个包含游标中所有文档的数组。该方法完全迭代游标,将所有文档加载到 RAM 中并耗尽游标。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MongoDB中聚合方法的返回类型是什么? 的相关文章

随机推荐