gpt4 book ai didi

mongodb - 如何获取 mongo 中同一字段的唯一值列表?

转载 作者:可可西里 更新时间:2023-11-01 10:27:13 28 4
gpt4 key购买 nike

我有这样的数据集

     {name: john,
age:20,
....
}
{name: sally,
age: 40
...
}
{name: sally,
age: 50
...
}

我可以发出什么 mongo 查询来取回“名称”的每个唯一值。所以简单地说,它会返回 'john' 和 'sally'

最佳答案

获取“名称”的每个唯一值的最简单方法是使用 distinct() 集合上的方法,它将查询单个集合中指定字段的不同值,并在数组中返回结果。因此将其用作

var distinctNames = db.collection.distinct("name");
printjson(distinctNames);

示例输出:

[ "sally", "john" ]

还有另一种方法,虽然不像上面那样简单直接,但就是使用聚合框架,您可以在其中使用 $group 管道阶段按名称键对文档进行分组,并为每个不同的分组输出到下一阶段的文档。

随着 cursor aggregate() 返回 方法,然后您可以使用它的 map() 方法来创建所需的最终数组。以下 mongo shell 演示描述了上述概念:

var distinctNames = db.collection.aggregate([
{
"$group": {
"_id": "$name"
}
}
]).map(function (r){ return r._id; });
printjson(distinctNames);

示例输出:

[ "sally", "john" ]

关于mongodb - 如何获取 mongo 中同一字段的唯一值列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32775236/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com