【发布时间】:2020-07-24 15:47:53
【问题描述】:
我找到了 CouchDB 3.1.0 数据库存储在 MAC 上的位置,但没有找到作为文件的附加文档。 /Users/jacobdiego/Library/Application Support/CouchDB2/var/lib/couchdb
因为我刚开始知道这件事,它希望在上面找到文件,比如 jsons 文档,它毕竟是一个 json 文档数据库,但我发现 .couch 文件存储数据库,打开它文本编辑器它混合了二进制数据和附加的 jsons 内容。好像后端不是true-json。
我创建了一个测试数据库,加载了一些 jsons,并附加,检查数据库大小,然后附加一个 46.9Mb 文件(couchdb 安装程序本身)并查看数据库大小增长到 47Mb .
这对于我的应用程序来说是不希望的,因为附件可以是直接从 HTML 输出链接的引用、图像、手册等。
有没有办法告诉 CouchDB 将附件作为单独的文件而不是在 database.couch 文件中处理?
-
我不需要存储二进制文件的多个修订版
-
我认为它根本不会被压缩到 database.couch 文件中,它就在那里
-
我认为 CouchDB 也不能在附件中搜索,我也不需要它。
-
我认为 CouchDB 永远不会检测到重复的附件
-
我确实需要通过 HTTP 服务并复制到节点
-
我确实想在上传文件后重命名文件
-
我确实想避免重复文件
-
我确实想避免使用第 3 层,例如带有 php 的 apache http 服务器,因为我的目标是尽可能简单地实现 2 层应用程序
我在网上搜了一下,发现很多很多老旧的cmets的文章,不知道现在的版本是不是不可能。
【问题讨论】:
-
更新:我意识到 Fauxton 和离线文档已经是 2 层应用程序,包含多个不是附件的文件。它的 http 位置在 /_utils/ 中,在 mac 上映射为
/share/www/... 在应用程序文件中。这个文件夹可能不会被复制,我还不知道。并且也可能在本地主机之外不可用,但可能有办法解决所有这些问题。
标签: database couchdb attachment