MongodB Java 驱动程序 v3 - 如何创建带投影的光标?

MongodDB Java driver v3 - how to create cursor with projection?

以下适用于 mongodb java 驱动程序 v2。如何使用新的 类 集(如 MongoCollection 等)使用 v3 的新驱动程序实现相同的结果:

QueryBuilder query = QueryBuilder.start().and(...);
DBObject projection = new BasicDBObject();
projection.put("_id", 1);
projection.put("h", 1);

DBCursor cursor = new DBCursor(collection, query.get(), projection);
while(cursor.hasNext()){
   DBObject dbo = cursor.next();
   String h = dbo.get("h").toString();
   ...
}

我特别想使用投影并迭代大型结果集。另外,如果有关于如何从 v2 迁移到 v3 的很好的参考指南,我将不胜感激。到目前为止在文档中丢失..

首先,您真的不应该自己创建 DBCursor。您应该通过 DBCollection 获取它们。至于新的 API 版本,它看起来像这样:

collection.find(query).projection(new Document(...)))

有关详细信息,请参阅 this 页。