【问题标题】:PouchDB Query like sqlPouchDB 查询类似 sql
【发布时间】:2023-04-03 02:21:01
【问题描述】:

使用 CouchDB 可以进行“类似”SQL 的查询。 http://guide.couchdb.org/draft/cookbook.html 这么说

您将如何在 SQL 中执行此操作:

SELECT field FROM table WHERE value="searchterm"

如何在 CouchDB 中做到这一点:

用例:获取与键(“搜索词”)关联的结果(可以是一条记录或一组记录)。

要快速查找某些内容,无论存储机制如何,都需要索引。索引是一种为快速搜索和检索而优化的数据结构。 CouchDB 的 map 结果存储在这样一个索引中,恰好是一棵 B+ 树。

要通过“searchterm”查找值,我们需要将所有值放入视图的键中。我们只需要一个简单的地图函数:

function(doc) {
  if(doc.value) {
    emit(doc.value, null);
  }
}

这将创建一个文档列表,其中包含一个按值字段中的数据排序的值字段。为了找到所有匹配“searchterm”的记录,我们查询视图并将搜索词指定为查询参数:

/database/_design/application/_view/viewname?key="searchterm"

如何使用 PouchDB 做到这一点? API 提供了创建临时视图的方法,但是如何使用 key="searchterm" 个性化获取请求?

【问题讨论】:

    标签: sql couchdb pouchdb


    【解决方案1】:

    您只需将属性设置添加到选项对象:

    var searchterm = "boop";
    
    db.query({map: function(doc) {
       if(doc.value) {
         emit(doc.value, null);
       }
     }, { key: searchterm }, function(err, res) { ... });
    

    查看http://pouchdb.com/api.html#query_database了解更多信息

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-07
      • 2016-10-27
      • 2011-01-15
      • 1970-01-01
      • 1970-01-01
      • 2021-06-17
      相关资源
      最近更新 更多