我习惯使用关系数据库,您可以在其中定位特定记录。例如,使用下面的伪sql。
SELECT id, name, otherVar FROM students WHERE id=:studentId
但是,我不确定如何在Lotus Notes中使用其平面数据模型进行处理。我一直在谷歌搜索,但不断提出如何更新Lotus Notes本身的点击,而不是Lotus Notes内部的文档。如果拥有一些LN专业知识的人能指出我正确的方向,那将非常感激。
答案 0 :(得分:6)
使用SQL语句作为类比,假设您有一个包含students
,id
和name
列的视图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
进行简单的Google搜索以获取更多信息。在公式语言中,您可以将其写为:
@DbLookup("Notes":"NoCache"; ""; "students"; "<STUDENT_ID>"; "<FIELD TO BE RETRIEVED>"; [FailSilent]);
但是,如果你想进行复杂的计算,公式就不如LotusScript那么灵活。
答案 1 :(得分:0)
尝试使用Domino Data Services。让Notes管理员打开数据库以进行REST服务工作,您几乎可以从任何地方获取Domino数据!见Domino Data Services manual on the web