我有一个名为'句子'的集合。我想要一个'last_syls'的所有唯一值的列表,其中包含'last_syls'值的条目数大于10。
此集合中的文档如下所示:
{ "_id" : ObjectId( "51dd9011cf2bee3a843f215a" ),
"last_syls" : "EY1D",
"last_word" : "maid"}
我调查了db.sentences.distinct('last_syls')
,但无法弄清楚如何根据每个不同值的计数进行查询。
答案 0 :(得分:2)
您将要使用aggregation framework:
db.sentences.aggregate([
{
$group: {
_id: "$last_syls",
count: { $sum: 1}
}
},
{
$match: {
count: { $gt: 10 }
}
}
])
此文档按其last_syls
字段对每个组的计数进行分组,然后将结果集过滤为count
大于10的所有结果。