PouchDB查询就像sql一样

时间:2013-11-13 11:56:34

标签: sql couchdb pouchdb

使用CouchDB可以执行“喜欢”SQL的查询。 http://guide.couchdb.org/draft/cookbook.html

如何在SQL中执行此操作:

SELECT field FROM table WHERE value="searchterm"

如何在CouchDB中执行此操作:

用例:获取与密钥相关的结果(可以是记录或记录集)(“searchterm”)。

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

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

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

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

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

如何使用PouchDB执行此操作? API提供了创建临时视图的方法,但我如何使用key =“searchterm”个性化get请求?

1 个答案:

答案 0 :(得分: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了解详情