首页 > 解决方案 > 多米诺文档中的多重搜索

问题描述

在按钮的 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 发生异常

标签: lotus-dominoxpages-ssjs

解决方案


如果要使用比较运算符 > 和 <,则需要使用NotesDatabase.Search方法而不是 FTSearch。搜索速度较慢并且无法访问非摘要(即富文本)字段中的数据,但它具有您可以在视图选择公式中使用的所有相同功能。


推荐阅读