如何在莲花笔记中找到最近修改过的文件5

Tus*_*nda 2 java lotus-notes

我想要做的是通过莲花笔记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.

Knu*_*ann 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文档的视图中的订单仍然存在.