1

我习惯于使用关系数据库,您可以在其中定位特定记录。例如,使用下面的伪 sql。

SELECT id, name, otherVar FROM students WHERE id=:studentId

但是,我不确定如何在 Lotus Notes 中使用其平面数据模型来解决这个问题。我一直在谷歌上搜索,但不断想出如何更新 Lotus Notes 本身,而不是 Lotus Notes 内的文档。如果具有一些 LN 专业知识的人可以为我指明正确的方向,那将不胜感激。

4

2 回答 2

6

使用 SQL 语句作为类比,假设您有一个students包含列idname的视图otherVar。该列id应排序(升序或降序)。所以视图看起来像这样

╔════╦════════════╦═════════════╗
║ id ║ name       ║ otherVar    ║
╠════╬════════════╬═════════════╣
║ 1  ║ Daniel     ║ ----------  ║
║ 2  ║ Joseph     ║ ----------  ║
║ 3  ║ Michelle   ║ ----------  ║
╚════╩════════════╩═════════════╝

要查找此视图,您可以在 LotusScript 中编写如下内容:

Dim session As New NotesSession 'Get current session
Dim currentDB As NotesDatabase
Dim view As NotesView
Dim doc As NotesDocument
Dim studentId As String

studentId = "<STUDENT_ID>" 'The student ID that needs to be searched
Set currentDB = session.CurrentDatabase 'Get current database
Set view = currentDB.GetView("students") 'Get the view
Set doc = view.GetDocumentByKey(studentId, True) 'Look up the view with student ID to get the student document

做一个简单的谷歌搜索以NotesView获取更多信息。在公式语言中,您可以将其写为:

@DbLookup("Notes":"NoCache"; ""; "students"; "<STUDENT_ID>"; "<FIELD TO BE RETRIEVED>"; [FailSilent]);

但是如果你想做复杂的计算,公式的灵活性不如 LotusScript。

于 2013-10-28T05:05:32.793 回答
0

也尝试使用 Domino 数据服务。让您的 Notes 管理员为 REST 服务工作打开数据库,您几乎可以从任何地方获取 Domino 数据!请参阅Web 上的 Domino 数据服务手册

于 2013-10-29T08:36:34.210 回答