Notes 使用名为 NSF(Notes Storage Facility)的面向文档的数据库来管理半结构化数据,例如富文本和文件。与关系数据库不同,数据存储为文档和视图。
要查询 NSF,您可以使用 Java API,但它们很难使用,尤其是在您习惯于关系数据库和标准 Java 集合的情况下。(即大多数集合返回类型是不可迭代的,因此您必须使用 while 来迭代它们:S,还期望有很多奇怪的异常)。这是一个例子:
Session session = NotesFactory.createSession(host, user, password);
View view = session.getDatabase(DATABASE).getView(VIEW);
ViewEntryCollection allEntries = view.getAllEntries();
ViewEntry entry = allEntries.getFirstEntry();
while (entry != null) {
if (entry.isDocument()) {
Document doc = entry.getDocument();
String no = doc.getItemValueString("No");
}
entry = allEntries.getNextEntry();
}
使用上面的代码,我检索了一个标记为"No"
注释文档的字段,该字段是我从一组条目中获得的,这些条目最终形成一个名为 的视图VIEW
,并且该视图位于数据库下DATABASE
。
还有一种称为 Lotus Domino 公式语言的脚本语言,它也用于查询 NSF,您可以在此处了解:Lotus Programming Guide 和 Formula Language。