我想知道CouchDB数据库中存储的文档的大小。我如何编写一个列出文件大小的视图?
答案 0 :(得分:4)
回答我自己的问题,我发现这是可以接受的(纳入马塞洛的评论):
function(doc) {
var json = JSON.stringify(doc);
emit(json.length, null);
}
编辑:合并@ dch的comments,这是对线上大小的更完整估计,但正如他所指出的,这不是磁盘上文档的大小。
function(doc) {
var json = JSON.stringify(doc);
var len = json.length;
if (doc._attachments) {
for (var attachmentKey in doc._attachments) {
var attachment = doc._attachments[attachmentKey];
len += attachment.length;
}
}
emit(len, null);
}
答案 1 :(得分:3)
通常情况下,答案取决于您打算如何处理这些数据。
{
"_id":"555b17372035fdeb9b4077c68e00053f",
"_rev":"3-a6fa3aadf3bf64f11b721d7d4333e9ec",
"_attachments":{
"preview.png":{
"content_type":"image/png",
"revpos":3,
"digest":"md5-fNhm5TL2NFnsujYKixr+3A==",
"length":328076,
"stub":true
}
}
}