我想要做的是通过莲花笔记5阅读并将所有文档导出到当地的modeshape存储库,但是一旦我读完了所有的百万条记录/文档,这个过程开始读取莲花笔记中的第一条记录,但我不知道不想那样.我只需要阅读莲花笔记中最近修改过的文档.
我的函数看起来像这样:
public void run() {
logger.log(Level.INFO, "entering run");
try {
String pathToFolder = "";
s = NotesFactory.createSession(host, "username", "password");
Database db = s.getDatabase("", nsffilename);
if (!db.isOpen()) {
db.open();
}
DocumentCollection docCol = db.getAllDocuments();
Document doc = docCol.getFirstDocument();
while (doc != null) {
doc = docCol.getNextDocument();
}
}
}
Run Code Online (Sandbox Code Playgroud)
我在网上发现了一些代码:http: //www-12.lotus.com/ldd/doc/domino_notes/7.0/help7_designer.nsf/f4b82fbb75e942a6852566ac0037f284/c698b5888603d5cd8525704a00417105?OpenDocument
但这仅适用于8岁及以上的莲花笔记.但是我被莲花笔记困住了5.请告诉我是否有一些方法可以在莲花笔记中获得最近修改过的文件5.
@Modified使用降序排序的第一列创建视图,并使用View类读取所有文档 - 最后修改的文档.
...
View view = db.getView("YourViewSortedByLastModified");
view.setAutoUpdate(false);
Document tmpdoc;
Document doc = view.getFirstDocument();
while (doc != null) {
// do with your doc what you want
tmpdoc = view.getNextDocument(doc);
doc.recycle();
doc = tmpdoc;
}
Run Code Online (Sandbox Code Playgroud)
从上次运行到达文档时,可以在while循环中断.
由于性能原因,请勿在视图选择公式中包含任何提供当前时间或日期的函数,如@Now或@Today.最好列出所有文档,并在达到上次运行的文档时停止循环.
a中的文档顺序DocumentCollection是不确定的.通常最早的文件是第一个,但你不能依赖于此.如果您循环浏览View文档的视图中的订单仍然存在.
| 归档时间: |
|
| 查看次数: |
679 次 |
| 最近记录: |