1

「文」という名前のコレクションがあります。「last_syls」の値を含むエントリの数が 10 を超える、「last_syls」のすべての一意の値のリストが必要です。

このコレクション内のドキュメントは次のようになります。

{ "_id" : ObjectId( "51dd9011cf2bee3a843f215a" ),
  "last_syls" : "EY1D",
  "last_word" : "maid"}

を調べましたdb.sentences.distinct('last_syls')が、これらの個別の値ごとにカウントに基づいてクエリを実行する方法がわかりません。

4

1 に答える 1

2

集約フレームワークを使用したいと思うでしょう:

db.sentences.aggregate([
  {
    $group: {
      _id: "$last_syls",
      count: { $sum: 1}
    }
  },
  {
    $match: {
      count: { $gt: 10 }
    }
  }
])

これにより、グループごとのカウントを使用してフィールドごとにドキュメントがグループ化され、last_sylsその結果セットcountが 10 を超えるすべての結果にフィルター処理されます。

于 2013-07-10T20:57:15.403 に答える