如何获取mongodb集合中的所有重复文档?

时间:2019-02-18 06:46:45

标签: 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}

1 个答案:

答案 0 :(得分:1)

首先添加一个分组阶段,该阶段将根据您要分组的参数(在本例中为a,b和c)分组

然后找到您分组的参数中出现超过1个的值

db.collection.aggregate([
    {
      "$group": {
        "_id": {
          "a": "$a",
          "b": "$b",
          "c": "$c"
        },
        "count": {
          $sum: 1
        }
      }
    },
    {
      "$match": {
        "count": {
          "$gt": 1
        }
      }
    }
  ])