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



要查询沙发数据库,您可以发送一个 http GET 请求,样式为

host:5984/db/_design/some_view/_view/view1?key="foo"

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

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

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

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

如何从 URL 获取密钥的值并在传递它以发出之前对其进行检查?

MapReduce不是这样工作的。

映射(和化简)函数不会在每个对象的每个查询中调用。为每个更新的对象调用它们(在查询时)。

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

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

在文本框中进一步解释MapReduce几乎是不可能的:我建议你遵循教程和视频。

虽然您已经了解了MapReduce的基础知识,但您将学习如何使用CouchDB(使用key,或startkeyendkey)查询索引,以及如何格式化响应(如果需要,请使用自定义参数)。

相关内容

  • 没有找到相关文章

最新更新