0

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

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

SELECT field FROM table WHERE value="searchterm"

如何在 CouchDB 中做到这一点:

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

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

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

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

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

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

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

4

1 回答 1

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

于 2013-12-08T15:10:55.657 回答