lotus-domino - 多米诺文档中的多重搜索
问题描述
在按钮的 onclick 事件中,我想使用 ssjs 搜索具有多个条件的笔记文档。
我有一个包含几个字段的表单。现在我想找到一个注释文档,其中 field a="123" and field b="456" field c="789" and field d >"A123456" ,然后我想阅读字段 e 的内容。
如果是视图中的搜索,我会使用类似的东西:
var tmpArray = new Array("");
var cTerms = 0;
if(viewScope.fong != null & viewScope.fong != "") {
tmpArray[cTerms++] = "(FIELD Site = \"" + viewScope.fong + "\")"
}
if(@Text(viewScope.sDate) != null & @Text(viewScope.sDate) != "") {
tmpArray[cTerms++] = "(FIELD StartDate = \"" + @Text(viewScope.sDate) + "\")"
}
qstring = tmpArray.join(" AND ").trim();
viewScope.queryString = qstring;
return qstring
如果我只有 1 个条件,我会使用 @DbLookup(仍然如何选择文档>“A123456”?)
在 ssjs 中执行此操作的最佳方法是什么?
更新
尝试使用 FTSearch ,但似乎在 searchkey "FIELD d > A123456" 中,似乎不起作用
其他更新
var dc = db.FTSearch("FIELD a=123 and FIELD b =456 and FIELD d =A123456"); 似乎工作,但
var dc = db.FTSearch("FIELD a=123 and FIELD b =456 and FIELD d >A123456"); 没有。它给出错误:调用方法 NotesDatabase.FTSearch(string) null 发生异常
解决方案
如果要使用比较运算符 > 和 <,则需要使用NotesDatabase.Search方法而不是 FTSearch。搜索速度较慢并且无法访问非摘要(即富文本)字段中的数据,但它具有您可以在视图选择公式中使用的所有相同功能。
推荐阅读
- oauth-2.0 - “MalformedResponse:由于语音响应为空,无法将 Dialogflow 响应解析为 AppResponse”在 OAuth 帐户链接流程中
- python - 无头浏览器与 Youtube 一起使用
- javascript - Flow 中的联合数组类型。类型 A 中缺少属性,但类型 B 中存在
- angular - goBack 路由后重新加载选项卡视图(Ionic 4)
- ember.js - Ember:从导入的 mixin 中覆盖属性?
- python - 登录后将用户带到新页面的Tkinter登录页面?
- python - 根据关联值将值连接到多列
- python - Keras evaluate() 和 predict() 结果太离谱了
- c# - 从字符串创建到文件夹的链接
- java - 使用数组的有界集的添加/删除操作的最坏情况场景时间复杂度?