只是对CouchDB有个初步的了解,可能会引起一些误解。
我可以使用列出视图中的记录(感谢之前的响应者)
http://mysite.iriscouch.com/mydb/_design/_view/myview我已经修改了我的视图以包含_attachments,但似乎没有显示_attachments,这是jpeg文件。
map
function(doc) {
if(doc.SignMark && doc.Details) {
emit(doc.SignMark, doc.Details, doc._attachments);
}
}我显然错过了一些简单的概念
谢谢- mcl
发布于 2011-10-11 21:38:32
Emit总是有两个参数: key和value。每个对象都可以是一个对象。所以这是可行的:
function(doc) {
if(doc.SignMark && doc.Details) {
emit(doc.SignMark, [doc.Details, doc._attachments]);
}
}但是您可以构造任意的键和值来发出,也可以为每个文档发出多个值或根本不发出任何值。
优秀的CouchDB Book对我帮助很大!这是视图的相关章节:http://guide.couchdb.org/draft/views.html
发布于 2011-10-12 02:08:31
在视图中,您不能访问附件本身。您只能选择存储在doc._attachments中的元数据。
因此,根据您的要求,您必须通过第二个请求访问实际的附件,请求的格式为/db/doc-id/ attachment -name.jpg
或者,如果要呈现为html,只需使用src=‘/db/doc-id/attachment name.jpg’构造一个图像标记。
https://stackoverflow.com/questions/7725646
复制相似问题