私はmongodbに80,000のドキュメントを持っています。私はJavaドライバを使用してこれらのドキュメントを照会しています。私は、特定のフィールドに基づいて私の文書を並べ替えて、この結果に明確なフィルターを適用しようとしました。並べ替えオプションはうまく動作しますが、別のドキュメントを取得できません。私は自分の仕事の例を添付しました。Javaで並べ替えと別のMongodb 3.2
Document query = new Document("RetweetCount",-1);
MongoCursor<Document> cursor = collection.find().sort(query).iterator();
try{
while(cursor.hasNext()) {
Document dr = (Document) cursor.next();
String stat = dr.getString("status");
int retweetcount = dr.getInteger("RetweetCount");
//Sort works fine. I have to apply distinct here!!! distinct is based on status field
System.out.println(retweetcount+"--->"+stat);
}
}finally{
cursor.close();
}
}
あなたは私にあなたのサンプルデータベースを教えてくれればhttp://api.mongodb.com/java/3.2/com/mongodb/operation/DistinctOperation.htmlを見たことがありますか少し考えてみてください – Newton
@Netwon私のデータベース構造は{status:x、retweetcount:2}、{status:y、retweetcount:5}、{status:x、retweetcount:3}のようになります。新しいステータスとそのretweetcountで保存するたびに。私は状態のために一番上のretweetcountを取得する必要がありますが、私はdbに重複したステータスを持っています。私はステータスを取得したい:xとretweetcount:3、そのステータスのための最高のretweetcountを持っています。 – prabhu
あなたのコレクションのバックアップを送信できますか? – Newton