我需要创建一个列出doc字段属性值的视图。
示例文档:
{
"_id": "003e5a9742e04ce7a6791aa845405c17",
"title", "testdoc",
"samples": [
{
"confidence": "high",
"handle": "joetest"
}
]
}
使用该文档的示例,我想要一个将返回“handle”
值的视图我在标题中找到了这个例子 - 获取具有特定属性的对象的内容,例如doc.objects。[0]属性约。但是当我填写属性名称时,例如“处理”并用doc.samples替换doc.objects,我没有得到任何结果:
Toggle line numbers
// map
function(doc) {
for (var idx in doc.objects) {
emit(doc.objects[idx], attribute)
}
}
答案 0 :(得分:2)
这将创建一个键值对数组,其中键始终是handle
的值。将null
替换为您想要的值,例如doc.title
。如果要将文档附加到每一行,请在请求视图时使用查询参数?include_docs=true
。
// map
function (doc) {
var samples = doc.samples
for(var i = 0, sample; sample = samples[i++];) {
emit(sample.handle, null)
}
}
答案 1 :(得分:2)
喜欢这个 - >
function(doc) {
for (var i in doc.samples) {
emit(doc._id, doc.samples[i].handle)
}
}
它将生成基于doc._id字段作为键的结果。或者,如果您希望密钥基于.handle字段,则可以反转emit
中的参数,以便按startKey=
,endKey=
进行搜索。