私はこの種の質問は嫌いですが、多分あなたは私に明白なことを指摘することができます。私はMongo2.2.2を使用しています。
インデックスを持つusernameという文字列フィールドを持つ6Mドキュメントのコレクション(レプリカセット内)があります。インデックスは一意ではありませんでしたが、最近私はそれを一意にしました。突然クエリを実行すると、重複しているという誤ったアラームが発生します。
db.users.aggregate(
{ $group : {_id : "$username", total : { $sum : 1 } } },
{ $match : { total : { $gte : 2 } } },
{ $sort : {total : -1} } );
これは
{
"result" : [
{
"_id" : "davidbeges",
"total" : 2
},
{
"_id" : "jesusantonio",
"total" : 2
},
{
"_id" : "elesitasweet",
"total" : 2
},
{
"_id" : "theschoolofbmx",
"total" : 2
},
{
"_id" : "longflight",
"total" : 2
},
{
"_id" : "thenotoriouscma",
"total" : 2
}
],
"ok" : 1
}
いくつかのドキュメントを含むサンプルコレクションでこのクエリをテストしましたが、期待どおりに機能します。