我想选择频率> 1 记录。
以以下数据为例,
它应该给我一些结果,例如[{id: 146}]
因为只有 id 146才会出现多个。
我可以在mongoDB中执行此操作,谢谢
{
id: 146,
name: Mary
}
{
id: 148,
name: Jack
}
{
id: 146,
name: Mary
}
答案 0 :(得分:1)
你应该正确解释你想要的东西。您还应该正确提供样本数据。
MongoId是一个无法重复的唯一字段,但您可以根据任何其他键找到多个文档。根据您的示例数据,您可以编写如下的查询 -
db.collection.aggregate([{$group:
{"_id":{"id":"$id","name":"$name"},
uniqueIds: { $addToSet: "$_id" }, //u can comment out this line if not required
count: { $sum: 1 }
}},
{ $match: {
count: { $gt: 1 }
}}])
这将返回所有带有count(id)大于1的文档。