【发布时间】:2019-02-18 06:46:45
【问题描述】:
我有一个包含多个重复记录的集合, 我想获取整个集合中的所有重复项。 记录是这样的:
a:1,b:2,c:3,
a:1,b:2,c:3,
a:4,b:3,c:3,
a:1,b:3,c:3,
a:1,b:7,c:3,
a:1,b:2,c:3
预期输出:{a:1,b:2,c:3},{a:1,b:2,c:3},{a:1,b:2,c:3}
【问题讨论】:
标签: mongodb
我有一个包含多个重复记录的集合, 我想获取整个集合中的所有重复项。 记录是这样的:
a:1,b:2,c:3,
a:1,b:2,c:3,
a:4,b:3,c:3,
a:1,b:3,c:3,
a:1,b:7,c:3,
a:1,b:2,c:3
预期输出:{a:1,b:2,c:3},{a:1,b:2,c:3},{a:1,b:2,c:3}
【问题讨论】:
标签: mongodb
首先添加一个分组阶段,它将根据您要分组的参数进行分组(在本例中为 a、b 和 c)
然后找到您分组的参数出现超过 1 次的值
db.collection.aggregate([
{
"$group": {
"_id": {
"a": "$a",
"b": "$b",
"c": "$c"
},
"count": {
$sum: 1
}
}
},
{
"$match": {
"count": {
"$gt": 1
}
}
}
])
【讨论】: