Mongodb MongoCursor之间的差异<;文件>;vs FindTable<;文件>;

Mongodb MongoCursor之间的差异<;文件>;vs FindTable<;文件>;,mongodb,spring-data-mongodb,mongodb-java,mongodb-java-3.3.0,Mongodb,Spring Data Mongodb,Mongodb Java,Mongodb Java 3.3.0,我想知道MongoCursor和FindTable之间的区别 mongocusor: MongoCursor<Document> cursorPersonDoc = personDocCollection.find(whereClauseCondition).iterator(); while (cursorPersonDoc.hasNext()) { Document doc = cursorPersonDoc.next();

我想知道MongoCursor和FindTable之间的区别

mongocusor:

MongoCursor<Document> cursorPersonDoc = personDocCollection.find(whereClauseCondition).iterator();
        while (cursorPersonDoc.hasNext()) {
           Document doc = cursorPersonDoc.next();
           String s1 = doc.getString("s1");
         }
FindIterable<Document> cursorPersonDoc = personDocCollection.find(whereClauseCondition);
    for (doc: cursorPersonDoc){
      String s1 = doc.getString("s1");
    }
mongocursorcursorpersondoc=personDocCollection.find(whereClauseCondition.iterator();
while(cursorPersonDoc.hasNext()){
Document doc=cursorPersonDoc.next();
字符串s1=doc.getString(“s1”);
}
可查找性:

MongoCursor<Document> cursorPersonDoc = personDocCollection.find(whereClauseCondition).iterator();
        while (cursorPersonDoc.hasNext()) {
           Document doc = cursorPersonDoc.next();
           String s1 = doc.getString("s1");
         }
FindIterable<Document> cursorPersonDoc = personDocCollection.find(whereClauseCondition);
    for (doc: cursorPersonDoc){
      String s1 = doc.getString("s1");
    }
FindIterable cursorPersonDoc=personDocCollection.find(whereClauseCondition);
用于(文档:cursorPersonDoc){
字符串s1=doc.getString(“s1”);
}
和的文档


可查找的

很难找到


MongoIterable

MongoInterable是一个操作(如查询)的结果


MongoCursor
允许对任何类型的数据进行迭代,因为
FindIterable
将只对
Find
结果进行迭代


FindIterable
将为您提供更具针对性的方法。

如果您查看这两个类中的方法,您会有一个想法

findeterable具有类似于
filter
limit
skip
的方法,这些方法将帮助您筛选出结果。
而且它还有类似于
maxAwaitTime
(用于可定制游标)和
maxTime
的方法

MongoCursor没有这些功能。但使用MongoCursor有一个优势。MongoCursor接口扩展了可关闭的,这反过来又扩展了自动关闭

AutoCloseable
(在Java 7中引入)使使用try with resources习惯用法成为可能。像这样的

try (final MongoCursor cursor = personDocCollection.find(whereClauseCondition).iterator()) {
   ........
 }