我想知道mongocusor和finderable之间的区别。
Mongoursor公司:
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有类似filter
,limit
,skip
的方法,这些方法将帮助您筛选出结果。
它还有一些方法,比如maxAwaitTime
(用于可裁剪的光标)和maxTime
。
Mongoursor没有所有这些。但是使用mongocusor有一个优势。mongocorsor接口扩展了Closeable
,从而扩展了autocloseable。AutoCloseable
(在Java 7中引入)使得使用尝试资源的习惯用法成为可能。像这样的东西
try (final MongoCursor cursor = personDocCollection.find(whereClauseCondition).iterator()) {
........
}