【发布时间】:2016-06-13 10:35:43
【问题描述】:
我的 mongodb 中有 80,000 个文档。我正在使用 Java 驱动程序查询这些文档。我尝试根据特定字段对文档进行排序,然后对此结果应用不同的过滤器。排序选项工作正常,但我无法获得不同的文档。我附上了我的工作示例。
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();
}
}
【问题讨论】:
-
你有没有看过api.mongodb.com/java/3.2/com/mongodb/operation/…如果你给我你的示例数据库,我可以做一点弄清楚
-
@Netwon,我的数据库结构是这样的 {status:x,retweetcount:2},{status:y,retweetcount:5},{status:x,retweetcount:3}。每次它存储新状态及其转推数。我必须获得最高转发次数的状态,但我的数据库中有重复的状态。我想获取 status:x 和 retweetcount:3,该状态的转推数最高。
-
您可以发送您收藏的备份吗?
-
@Newton,是的,但是我如何将我的收藏发送给您?
-
上传到谷歌驱动器或其他东西并分享链接
标签: mongodb-java