【问题标题】:How do I query X specific documents all at once using an index with pouchdb?如何使用带有 pouchdb 的索引一次查询 X 个特定文档?
【发布时间】:2017-09-15 15:26:06
【问题描述】:

假设我有一个 X id 数组。它们没有顺序 - 它只是 X 个随机 id 的列表。

现在,我想使用该数组查询 X 个文档,并将其作为 SINGLE 结果返回 - 就像一个文档数组,而不是进行 5 个单独的查询。

我知道我可以动态创建一个 map() 函数来执行此操作 - 本质上是在 ids 数组中查找具有 id 的文档......但是查询总是很慢。我想学习如何做的就是让它变得更快,比如使用二级索引。

有没有办法用 PouchDB 做到这一点?如果没有办法做到这一点,我怎样才能轻松地将 X 个查询返回的 X 个 Promise 链接在一起,并将它们全部分组到一个结果中 - 可能是下一个最好的事情?

【问题讨论】:

    标签: javascript couchdb pouchdb nosql


    【解决方案1】:

    要搜索_ids 的数组,可以使用allDocs()keys

    db.allDocs({include_docs: true, keys: ['a', 'b', 'c']})
      .then(/* ... */)
      .catch(/* ... */);
    

    不需要二级索引,除非您想搜索 _id 以外的内容。在这种情况下,您可以查看queriespouchdb-find

    【讨论】:

      【解决方案2】:

      您可以尝试使用 PouchDB 的 Datalog 索引并进行复杂的查询。

      请查看插件here

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-08-29
        • 2019-08-21
        • 2018-01-20
        • 2018-08-18
        相关资源
        最近更新 更多