如果要从目录模型中查询和筛选全名,该怎么做?可以使用filters.FullName._contains =
吗?
我已经在目录模型的服务器脚本中尝试过此操作。这将返回所有GSuite记录,很酷。
var gQ = app.models.GSuite.newQuery();
gQ.filters.FullName._contains = ''; // filter empty string
var recs = gQ.run();
return recs; // returns all records
将过滤器字符串更改为字符时,没有任何记录。
var gQ = app.models.GSuite.newQuery();
gQ.filters.FullName._contains = 'a'; // filter the letter a
var recs = gQ.run();
return recs; // returns - recs undefined
我分配给string
的{{1}}有什么问题?
我在做什么错了?
答案 0 :(得分:0)
此脚本使用自定义参数过滤目录模型,但不使用filters.FullName._contains =
。
相反,使用Javascript的search()
,每个FullName都得到一个RegEx评估。 if (rec.FullName.search(eFilter) > -1))
目录模型的服务器脚本
var gQ = app.models.GSuite.newQuery();
var gD = gQ.run();
if (query.parameters.FilteredGSuiteEmail === null) {
return gD; // return all records
}
var eFilter = query.parameters.FilteredGSuiteEmail;
console.info("eFilter: " + eFilter);
var recs = [];
gD.forEach(function(rec) {
console.log("searchValue: " + rec.FullName.search(eFilter));
//console.log("search: " + rec.FullName);
if(rec.FullName.search(eFilter) > -1) {
console.log("search: " + rec.FullName);
var newRec = app.models.GSuite.newRecord();
newRec.FullName = rec.FullName;
newRec.PrimaryEmail = rec.PrimaryEmail;
recs.push(newRec);
}
});
return recs;
我需要将过滤器字符串转换为不区分大小写的RegEx参数。
还有更好的方法吗?