gpt4 book ai didi

lotus-notes - 使用 Java API 读取 Lotus Notes 文档

转载 作者:行者123 更新时间:2023-12-04 03:06:08 25 4
gpt4 key购买 nike

我正在使用 Lotus Notes 6.5.1 Java API 读取 .nsf 文件。 .nsf 文件中的每个文档都有多个文档历史记录。在使用 Lotus Notes Java API 遍历 .nsf 文件中的文档时,我将所有文档版本作为单独的文档获取。

如何确保 Lotus Notes 只检索每个文档的最新版本?有没有一种方法可以将文档及其所有版本历史记录作为其子项进行唯一标识?

最佳答案

Notes Domino 中有一个内置的文档版本控制功能。取决于它在数据库设计中的配置方式(并假设数据库开发人员没有推出自己的版本),版本将是对原始父版本的响应,或者相反,新版本成为父版本,旧版本成为回复。

然而,所有这一切都是在您编辑文档时自动为您在数据库中设置响应层次结构。其余的数据库设计如何与此层次结构交互取决于开发人员。

您可能想要做的是创建一个仅在响应层次结构顶部显示文档的 View 。然后您可以遍历该 View 并知道您从中获取的文档是最新版本。

因此,如果您使用“文章”形式创建文档,则 View 选择公式将是。

SELECT form*="Article" & !@IsAvailable($ref)

这会选择所有不是回复的文章文档。现在在代码中,您可以简单地打开 View 并遍历它。

一旦你有了文档的句柄,你就可以通过

获得它的直接子响应
doc.getResponses()

这将返回一个 DocumentCollection,您可以向下递归查找对响应的响应。您无法直接获取父文档。您首先需要使用 doc.getParentDocumentUNID() 获取其 id,然后调用 db.getDocumentByUNID()。当然,您可以将其结合起来:

db.getDocumentByUNID(doc.getParentDocumentUNID())

无论如何,您都必须查看您的数据库实际在做什么,它最初是如何设计的并与之相适应。

关于lotus-notes - 使用 Java API 读取 Lotus Notes 文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/591693/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com