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 页。
以下适用于 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 页。