问题很简单:我在CouchDB数据库的设计文档中编写了map
函数,它发出了{"_id":doc._id}
的内容。与include_docs=true
查询选项一起,我将使用链接的文档获得所需的结果。由于map
函数旨在与include_docs=true
一起使用,因此我将此选项放在设计文档中并将其设为默认值:
{...
"options":{"include_docs":true}
...}
但是,当我查询视图时,结果仍然是没有链接文档的结果,我需要在查询中明确指定选项。我还尝试将其他查询选项(例如limit=200
)添加到设计文档中,它们也没有用。
我正在使用CouchDB 1.5,并且找不到任何有关此问题的讨论,问题或错误。有谁有想法吗?先谢谢!
编辑:我在Apache中报告了这个问题,我被告知有关此问题的声明已被删除。
答案 0 :(得分:3)
_design/ddoc/options
不能这样做。根据couchdb's docs,设计文档的options
对象属性仅影响视图索引,而不会影响查询。 (唯一的两个设置是local_seq
和include_design
)。
_design/ddoc/rewrites
可以!如果要在服务器端设置查询选项,可以在设计文档中指定rewrites
数组。
假设您要向_view/myview
设置为include_docs
的{{1}}公开查询,请将以下true
数组添加到您的设计文档中:
rewrites
现在,当您在没有 { "_id": "_design/myddoc"
, "views": { "myview": { "map": "function(doc) { ... }" } }
, "rewrites":
[ { "from": "allmyviews/myview"
, "to": "_view/myview"
, "query":
{ "include_docs": "true"
}
}
]
}
参数的情况下请求http://localhost:5984/mydb/_design/myddoc/_rewrite/allmyviews/myview
时,couchdb会像您已将其包含在内一样进行回复。