Wakanda 数据库中区分大小写的查询

Case sensitive query in Wakanda db

我正在使用一个使用区分大小写键的外部系统。为简化起见,假设 ID 'a1' 和 'A1' 代表两个不同的实体。我需要通过外部 ID 查找实体,但查询和查找方法在 Wakanda 中不区分大小写,因此当我 query/find 时它会找到两个(或可能是错误的)实体。有什么想法吗?

ds[dataClassName].query("externalID == :1","a1");

我想找到一个(正确的)实体,而不是像这段代码那样找到两个实体。

不幸的是,在当前的 Wakanda 实现中,查询不区分大小写。

弗雷德

我发现 indexOf() 方法区分大小写,并且我有每个潜在客户的自动排序 ID 和外部 ID,因此以下内容将找到正确的实体。可能非常低效。有什么改进吗?

var x = ds.Prospect.query('externalID == a1');
var i = x.externalID.indexOf('A1');
x[i];

您可以创建一个 sensitiveQuery() 数据类方法,在内部执行 query(),然后使用 indexOf 和 returns 正确的实体过滤查询结果。 ds.Prospect.sensitiveQuery() 就可以了。