0
我在我的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,但我有我的數據庫重複狀態。我想獲得狀態:x和retweetcount:3,該狀態的retweetcount最高。 – prabhu
你可以寄回你的藏品嗎? – Newton