以编程方式访问couch db:s查询参数

时间:2013-10-14 22:28:40

标签: mapreduce nosql couchdb

要查询沙发数据库数据库,您可以以

的方式发送http GET请求

主机:5984 /分贝/ _design / some_view / _view /厂景键= “foo” 的

要创建一个名为view1的简单视图,我可以创建地图

function(doc){
  emit(doc.bar,doc);
}

这将产生一个键值对列表,其中doc.bar是键,doc是值。在这种情况下,它是db的子集,其中doc.bar =“foo”

似乎emit函数将其参数与使用URL请求传递的关键参数进行比较。

如何从URL获取密钥的值并在将其传递给emit之前对其进行检查?

1 个答案:

答案 0 :(得分:1)

MapReduce不能像这样工作。

每个对象的每个查询都不会调用Map(和reduce)函数。为每个更新的对象调用它们(在查询时)。

这意味着,只要不更改“文档”(aka对象),就会在索引中保留发出的键和值。缓存管理是MapReduce如此高效的原因。

换句话说,不要将索引视为查询结果,而应将其视为对所有可能结果的预期。

在文本框中进一步解释MapReduce几乎是不可能的:我建议您按照教程和视频进行操作。

虽然您已了解MapReduce的基础知识,但您将学习如何使用CouchDB query the indexkeystartkeyendkey),以及如何{ {3}}(如果需要,可使用自定义参数)。