我正在使用使用区分大小写的密钥的外部系统。为了简化,我们可以说ID' a1'和' A1'代表两个不同的实体。我需要通过外部ID找到实体,但查询和查找方法在Wakanda中不区分大小写,因此在查询/查找时它会找到(或可能是错误的)实体。任何想法?
var timeSchema = new mongoose.Schema({
time: Number,
date: {
type: Date,
default: Date.now
},
scramble: String,
status: {
type: Number,
default: 0
}
});
var userSchema = mongoose.Schema({
username: String,
password: String,
accountDate: {
type: Date,
default: Date.now
},
stats: {
three: [timeSchema]
}
});
我希望找到一个(正确的)实体,而不是这个代码。
答案 0 :(得分:1)
不幸的是,在当前的Wakanda实施中,查询不区分大小写。
佛瑞德
答案 1 :(得分:0)
我发现indexOf()方法区分大小写,并且每个潜在客户都有一个自动排序的ID和外部ID,因此以下内容将找到正确的实体。可能非常低效。有什么改进吗?
var x = ds.Prospect.query('externalID == a1');
var i = x.externalID.indexOf('A1');
x[i];
答案 2 :(得分:0)
您可以创建一个sensitiveQuery()
数据类方法,在其中执行query()
,然后使用indexOf
过滤查询结果并返回正确的实体。 ds.Prospect.sensitiveQuery()
可以解决问题。