0

mongoDB に複数回存在するタイトルのすべてのドキュメントを取得するクエリを作成したいと思います。

これが私のドキュメントだとしましょう:

{
  "itemID" : "AAN88998JJCA",
  "itemTitle" : "AAAA
}

{
  "itemID" : "AAN8BB98JJCA",
  "itemTitle" : "AAAA"
}

{
  "itemID" : "A5N84998JJ3A",
  "itemTitle" : "AACC"
}

{
  "itemID" : "A2N81998JJC1",
  "itemTitle" : "AACC"
}

{
  "itemID" : "A2N81998JJC1",
  "itemTitle" : "BBBB"
}

リストを生成するクエリを設定したい

 {
      "itemID" : "AAN88998JJCA",
      "itemTitle" : "AAAA
    }

    {
      "itemID" : "AAN8BB98JJCA",
      "itemTitle" : "AAAA"
    }

    {
      "itemID" : "A5N84998JJ3A",
      "itemTitle" : "AACC"
    }

    {
      "itemID" : "A2N81998JJC1",
      "itemTitle" : "AACC"
    }

これは、DB に複数回存在する同じタイトルのレコードを意味します。私はJavaコードでそれを行うことができますが、DBレベルで行う方が合理的であるようです.

4

1 に答える 1

1

itemTitle集計フレームワークを使用すると、出現回数でグループ化できます。

db.collection.aggregate([
    {
        $group: {
            _id: "$itemTitle",
            total: { $sum: 1 }
        }
    }
    ,{
        $match: {
            total: { $gt: 1 }
        }
    }
]);
于 2016-01-09T10:28:19.437 に答える