有人可以给我一个使用 CouchRest 在 CouchDB 中存储独立附件的示例吗?
这是针对非 Rails 项目的。所以不涉及 CouchRest::Model 的东西会很好。
谢谢,马诺
有人可以给我一个使用 CouchRest 在 CouchDB 中存储独立附件的示例吗?
这是针对非 Rails 项目的。所以不涉及 CouchRest::Model 的东西会很好。
谢谢,马诺
看起来 CouchRest github UsageOverview wiki 页面在“附件”部分有一些基本示例:
contents = "<html><body>If you're happy and you know it, clap your hands.</body></html>"
@db.put_attachment(doc, "happy.html", contents, :content_type => "text/html")
# => {"ok"=>true, "id"=>"e0d70033da0fad3707fed320bd7e0770", "rev"=>"2-20635570c75e8b20f7a73fd1538f318d"}
# NOTE: The document is not updated automatically with the attachment information
pp doc.to_hash
# {"_id"=>"e0d70033da0fad3707fed320bd7e0770",
# "_rev"=>"1-cbb61d1f90f7c01b273737702265b6c8",
# "key"=>"value",
# "another key"=>"another value"}
# If you try to fetch the attachment without getting the new state of the document, you will fail
@db.fetch_attachment(doc, "happy.html")
# => RestClient::ResourceNotFound: 404 Resource Not Found: {"error":"not_found","reason":"Document is missing attachment"}
doc = @db.get(doc["_id"])
pp doc.to_hash
# {"_id"=>"e0d70033da0fad3707fed320bd7e0770",
# "_rev"=>"2-20635570c75e8b20f7a73fd1538f318d",
# "key"=>"value",
# "another key"=>"another value",
# "_attachments"=>
# {"happy.html"=>
# {"content_type"=>"text/html",
# "revpos"=>2,
# "digest"=>"md5-q3MreM1aJgfSLHGrJLdg4g==",
# "length"=>75,
# "stub"=>true}}}
@db.fetch_attachment(doc, "happy.html")
=> "<html><body>If you're happy and you know it, clap your hands.</body></html>"
有关更多示例(包括删除附件),请参见页面的其余部分。