如何在pouchdb find中访问手动创建的索引

时间:2016-03-20 06:31:11

标签: couchdb pouchdb

我是pouchDB和couchDB的新手。我试图使用pouchdb查找但遇到一些问题。

我创建了一个视图" test"和来源 -

function(doc) {
  emit(doc.name, doc.occupation);
}

enter image description here

当我运行时 -

localDB.query('test/test').then(function (res) {
  console.log(res);
}).catch(function (err) {
  console.log(err);
});

一切都按预期工作。

但是当我尝试pouchdb找到 -

localDB.find({
  selector: {name: 'kittens'}
}).then(function (result) {
  console.log(result);
}).catch(function (err) {
  console.log(err);
});

我收到了以下错误 -

  

错误:无法找到可用的索引。尝试在:name。

上创建索引

如果我按

创建索引
localDB.createIndex({
  index: {
    fields: ['name']
  }
});

然后pouchdb才能找到代码。但是当我手动创建一个索引(如上图所示)时,它就没有了。

感谢任何帮助。提前致谢。

1 个答案:

答案 0 :(得分:1)

pouchdb-find使用新的“Mango”查询语言,它与map / reduce不同。 Mango仅支持CouchDB 2.0+和PouchDB服务器, CouchDB 1.x。

所以此时您需要使用CouchDB 2.0或PouchDB服务器和pouchdb-find,如果您希望它在客户端和服务器上都可以工作,或者您需要使用常规map / reduce来避免使用pouchdb -find。