Wakanda db中的区分大小写查询

时间:2017-04-24 13:58:21

标签: wakanda

我正在使用使用区分大小写的密钥的外部系统。为了简化,我们可以说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]
    }
});

我希望找到一个(正确的)实体,而不是这个代码。

3 个答案:

答案 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()可以解决问题。