MongoCursor<Document> 与 FindIterable<Document> 之间的区别
Difference between MongoCursor<Document> vs FindIterable<Document>
我想知道 MongoCursor 和 FindIterable 有什么区别。
Mongo游标:
MongoCursor<Document> cursorPersonDoc = personDocCollection.find(whereClauseCondition).iterator();
while (cursorPersonDoc.hasNext()) {
Document doc = cursorPersonDoc.next();
String s1 = doc.getString("s1");
}
FindIterable:
FindIterable<Document> cursorPersonDoc = personDocCollection.find(whereClauseCondition);
for (doc: cursorPersonDoc){
String s1 = doc.getString("s1");
}
findIterable and mongodbIterable
的文档
FindIterable
可迭代查找。
MongoIterable
MongoIterable 是查询等操作的结果。
MongoCursor
允许遍历任何类型的数据,因为 FindIterable
将仅遍历 Find
结果。
FindIterable
会给你更有针对性的方法
如果您查看 类 中的方法,您就会有所了解。
FindIterable 具有 filter
、limit
、skip
等方法,可帮助您筛选出结果。
而且它还有像 maxAwaitTime
(对于可尾游标)和 maxTime
这样的方法。
MongoCursor 没有这些。但是使用 MongoCursor 有一个优势。 MongoCursor 接口扩展了 Closeable
,后者又扩展了 AutoCloseable。
AutoCloseable
(在 Java 7 中引入)使得使用 try-with-resources 习语成为可能。像这样
try (final MongoCursor cursor = personDocCollection.find(whereClauseCondition).iterator()) {
........
}
我想知道 MongoCursor 和 FindIterable 有什么区别。
Mongo游标:
MongoCursor<Document> cursorPersonDoc = personDocCollection.find(whereClauseCondition).iterator();
while (cursorPersonDoc.hasNext()) {
Document doc = cursorPersonDoc.next();
String s1 = doc.getString("s1");
}
FindIterable:
FindIterable<Document> cursorPersonDoc = personDocCollection.find(whereClauseCondition);
for (doc: cursorPersonDoc){
String s1 = doc.getString("s1");
}
findIterable and mongodbIterable
的文档FindIterable
可迭代查找。
MongoIterable
MongoIterable 是查询等操作的结果。
MongoCursor
允许遍历任何类型的数据,因为 FindIterable
将仅遍历 Find
结果。
FindIterable
会给你更有针对性的方法
如果您查看 类 中的方法,您就会有所了解。
FindIterable 具有 filter
、limit
、skip
等方法,可帮助您筛选出结果。
而且它还有像 maxAwaitTime
(对于可尾游标)和 maxTime
这样的方法。
MongoCursor 没有这些。但是使用 MongoCursor 有一个优势。 MongoCursor 接口扩展了 Closeable
,后者又扩展了 AutoCloseable。
AutoCloseable
(在 Java 7 中引入)使得使用 try-with-resources 习语成为可能。像这样
try (final MongoCursor cursor = personDocCollection.find(whereClauseCondition).iterator()) {
........
}