如果使用query()API,如何知道pouchdb中的哪些字段已被索引?

时间:2018-11-23 09:55:39

标签: couchdb pouchdb

我是pouchdb的新手,并且正在阅读下面的源代码:

                    db.query('product_index', {
                        startkey: ["01234"],
                        endkey: ["01234", {}],
                        include_docs: false
                    });

此代码执行了很长时间。读取一些pouchdb文档后,它看起来像是在第一次运行时在数据库上建立了索引。但是我不理解基于以上代码对哪些字段建立索引。

在下面的代码中,我可以看到它在字段foo上建立索引。但是我如何理解query用于构建索引的API?通过索引感知使用querycreateIndex有什么区别?

db.createIndex({
  index: {
    fields: ['foo']
  }
})

1 个答案:

答案 0 :(得分:0)

您看过PouchDB Guide Bulk operations部分Please use 'allDocs()'. Seriously.吗?

  

太多的开发人员忽略了这个有价值的API,因为他们   误会了。当开发人员说“我的PouchDB应用程序运行缓慢!”时,它会   通常是因为他们在使用慢速query() API时   应该使用快速的allDocs() API。

在设计数据结构时,记住这一点非常重要。您应该定义记录ID字段,以优化通过allDocs()的数据可访问性。