MongoDB Fetch何时导致java驱动程序

时间:2016-02-08 05:20:38

标签: mongodb mongodb-query mongodb-java

MongoClient mc=new MongoClient();
MongoDatabase mdb=mc.getDatabase("testdb");
MongoCollection mcol=mdb.getCollection("testcol");
FindIterable<Document> fi=mcol.find();

MongoCursor<Document> mcur=fi.iterator();
MongoCursor<Document> mcur2=fi.iterator();

将mcur和mcur2始终具有相同的结果,因为它们是FindIterable fi的引用。

上面代码mongodb的哪一步会得到mongoCursor或FindIterable内部的结果?

1 个答案:

答案 0 :(得分:0)

mcol.find()是获得结果的点,.find()将从集合"testcol"中提取所有文档。

您不一定需要使用普通FindIterable可以使用的List<BasicDBObject>对象。

然后你可以使用:

进行迭代
 for(DBObject obj : objList) {
     //perform operations
     String name = (String) obj.get("nameOfField");
 }

希望这会有所帮助。