Mongodb MongoCursor之间的差异<;文件>;vs FindTable<;文件>;
我想知道MongoCursor和FindTable之间的区别 mongocusor: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<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()) {
........
}