示例 CouchDB 集中的这个示例映射函数是什么意思?
What does this sample map function in sample CouchDB Set mean?
Couchbase
附带大量啤酒。 2 毫秒的获取时间令人印象深刻,但我不明白以下地图函数的实际作用:
function(doc, meta) {
switch(doc.type) {
case "brewery":
emit([meta.id]);
break;
case "beer":
if (doc.brewery_id) {
emit([doc.brewery_id, meta.id]);
}
break;
}
}
我无法理解它。这个meta
东西是从哪里来的?
一开始我对 couchBase 也很困惑
您所指的代码是 couchbase 中非常强大的功能。它允许创建一个视图,预处理数据以便能够快速访问视图。
调用地图函数创建视图,在地图函数中传递每个文档:
- meta : 存储文档的元数据,包含过期时间、文档ID、修订等信息。
更多信息在这里:
http://docs.couchbase.com/admin/admin/Views/views-writing.html
I can't wrap my brain around it. Where is this meta thing coming from?
Couchbase 服务器为每个存储的文档(json 或二进制文件)补充元数据。在您的视图编辑器中,您可以在 "Preview a Random doc" 的右侧窗格中看到元数据。例如,在您问题的屏幕截图中,meta.id 将是“labbat_ontario_breweries_labbat_50
”,如右侧所示。
meta.id 是文档的实际键,它始终存在于任何返回的文档(包括视图)中(即使您没有将键值明确包含在视图输出中)
例如例如,此视图仅输出 doc.name,但元数据仍然存在于该视图中的任何返回行中。您可以访问 json 结果中的 meta.id 元素。
function(doc, meta) {
emit(doc.name,null);
}
Couchbase
附带大量啤酒。 2 毫秒的获取时间令人印象深刻,但我不明白以下地图函数的实际作用:
function(doc, meta) {
switch(doc.type) {
case "brewery":
emit([meta.id]);
break;
case "beer":
if (doc.brewery_id) {
emit([doc.brewery_id, meta.id]);
}
break;
}
}
我无法理解它。这个meta
东西是从哪里来的?
一开始我对 couchBase 也很困惑
您所指的代码是 couchbase 中非常强大的功能。它允许创建一个视图,预处理数据以便能够快速访问视图。
调用地图函数创建视图,在地图函数中传递每个文档:
- meta : 存储文档的元数据,包含过期时间、文档ID、修订等信息。
更多信息在这里:
http://docs.couchbase.com/admin/admin/Views/views-writing.html
I can't wrap my brain around it. Where is this meta thing coming from?
Couchbase 服务器为每个存储的文档(json 或二进制文件)补充元数据。在您的视图编辑器中,您可以在 "Preview a Random doc" 的右侧窗格中看到元数据。例如,在您问题的屏幕截图中,meta.id 将是“labbat_ontario_breweries_labbat_50
”,如右侧所示。
meta.id 是文档的实际键,它始终存在于任何返回的文档(包括视图)中(即使您没有将键值明确包含在视图输出中) 例如例如,此视图仅输出 doc.name,但元数据仍然存在于该视图中的任何返回行中。您可以访问 json 结果中的 meta.id 元素。
function(doc, meta) {
emit(doc.name,null);
}