我想知道MongoCursor和FindIterable的区别是什么。
MongoCursor:
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");
}
发布于 2018-06-15 13:15:16
如果您查看这两个类中的方法,您将得到一个想法。
FindIterable有一些方法,如filter
、limit
、skip
,这些方法将帮助您过滤掉结果。
此外,它还有一些方法,如maxAwaitTime
(用于可裁剪游标)和maxTime
。
MongoCursor并没有所有这些。但是使用MongoCursor有一个优势。MongoCursor接口扩展了MongoCursor,而后者又扩展了AutoCloseable。
AutoCloseable
(在Java 7中引入)使得使用试用式资源成语成为可能。就像这样
try (final MongoCursor cursor = personDocCollection.find(whereClauseCondition).iterator()) {
........
}
发布于 2018-06-15 12:57:04
findIterable和mongodbIterable文档
FindIterable
很容易找到。
MongoIterable
MongoIterable是操作(如查询)的结果。
MongoCursor
允许迭代任何类型的数据,因为FindIterable
只遍历Find
结果。
FindIterable
将为您提供更有针对性的方法。
https://stackoverflow.com/questions/50875787
复制相似问题