你如何在目录模型上使用 query.filters.FulllName._contains
How do you use query.filters.FulllName._contains on the Directory Model
目标
如果你想从目录模型中查询和过滤全名,你是怎么做的? filters.FullName._contains =
可以用吗?
我试过的
我已经在目录模型的服务器脚本中试过了。这 returns 所有 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
问题
我分配给 filters.FullName._contains =
的 string
有什么问题?
我做错了什么?
区分大小写的解决方案
此脚本使用自定义参数过滤目录模型,但不使用 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 参数。
有更好的方法吗?
目标
如果你想从目录模型中查询和过滤全名,你是怎么做的? filters.FullName._contains =
可以用吗?
我试过的
我已经在目录模型的服务器脚本中试过了。这 returns 所有 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
问题
我分配给 filters.FullName._contains =
的 string
有什么问题?
我做错了什么?
区分大小写的解决方案
此脚本使用自定义参数过滤目录模型,但不使用 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 参数。
有更好的方法吗?