在同一选择器中使用$ ne(不等于)和$ eq时,没有可用索引错误

时间:2018-08-15 23:25:49

标签: angular6 pouchdb

当我在同一个选择器中使用$ ne(不等于)和$ eq时,pouch / couch和Angular 6出现“没有可用的索引错误”。她是我的索引。

this.db.createIndex({
    index: {
        fields: ['status', 'type'],
        name: 'test_index',
        type: 'json'
    }
});

呼叫代码:

const _selector = {
    'type': {
        '$eq': 'device'
    },
    'status': {
        '$ne': 'complete'
    }
};

this.db.find({
    selector: _selector,
    use_index: 'test_index'
}).then(response => {
    console.log(response);
});

我发现的东西: 1.出现错误“该选择器没有索引。”

  1. 如果删除“ use_index”,则会收到错误消息“找不到匹配的索引,请创建索引以优化查询时间”。返回正确的结果,但速度非常慢(约10,000条记录)。

  2. 如果我更改选择器,使它们都为$ eq,那么一切都会执行且没有错误,并且结果很快。

    const _selector = {     '类型':{         '$ eq':'设备'     },     '状态': {         '$ eq':'完成'     } };

我想知道是否在同一选择器中使用$ eq和$ ne的组合?

0 个答案:

没有答案