PouchDB:警告:"找不到匹配的索引,创建一个索引来优化查询时间"

时间:2017-11-16 07:32:02

标签: pouchdb

我正在使用pouchdb模块,当我搜索数据库时,我收到警告。警告信息是这样的。 警告:"未找到匹配的索引,创建索引以优化查询时间"

为什么我会收到这样的警告?如果有人知道原因和解决方案你能告诉我吗?



var querySentenceDoc = {
    _id: '_design/query_sentence',
    views: {
        by_query_id: {
            map: function (doc, ctx) {
                ctx.emit(doc.query_id, doc.sentnece_id);
            }.toString()
        }
    }
};

_this.query_sentence.put(querySentenceDoc).then(function () {
    _this.query_sentence.query('query_sentence/by_query_id', { stale: 'update_after' }).then(function () {
        if (proceedCb) {
            proceedCb();
        }
        return;
    });
}).catch(function (err) {
    console.log('Sentences views maybe a 409, because it already exists?', err);
});




showSentenceIds: function (ids) {
    var param = { keys: ids, limit: 15, include_docs: true};
    return this.query_sentence.query('query_sentence/by_query_id', param);
},

models.showSentenceIds(ids).then(function (_s_ids) {
    sentenceIds = _s_ids;
    callback(null, 0);
});




标题

1 个答案:

答案 0 :(得分:1)

您的设计文档中有一个拼写错误:

ctx.emit(doc.query_id, doc.sentnece_id);

所以索引可能没有正确构建。尝试将sentnece_id更改为sentence_id。

另外,当你在id上查询时,也许你可以使用alldocs代替。请参阅有关何时不使用Map / reduce的段落: https://pouchdb.com/2014/05/01/secondary-indexes-have-landed-in-pouchdb.html