如何获取附件的子集
How to fetch subset of attachments
我有一个带有文档的 CouchDB,如下所示:
{
"_id": "000040cc-e3b4-47cc-b051-a5508efb8996",
"_rev": "1-882d7f88cc2e1e767b55d0c82fb638d2",
"state": "uploaded",
"state_since": "2020-02-17T11:20:55.1450252Z"
// more metadata ...
"_attachments": {
"large.jpg": {
"content_type": "image/jpeg",
"revpos": 1,
"digest": "md5-NK7ejYjrErhMAs7tZ4+R8w==",
"length": 87846,
"stub": true
},
"medium.jpg": {
...
},
"small.jpg": {
...
}
}
}
假设,我想查询一组像这样的图像:
{
"selector": {
"state": "uploaded"
},
"sort": ["state_since"],
"limit": 100
}
如果我想显示这 100 张图片的缩略图,我必须遍历结果列表并下载相应的附件。这将是总共 101 个请求。
我也可以通过指定在一个请求中执行此操作,即我想获取带附件的文档。但这会 return 所有(可能非常大)附件。
我知道我可以将查询中的 fields
属性 设置为仅 return 我需要的字段。但是我也可以将其应用于附件吗?如果是:如何?
不,无法执行您的请求。获取附件子集的唯一方法是一次获取一个,或者在获取单个文档时使用 atts_since 属性,该文档旨在用于复制。
或许可以考虑重新设计您的文档。也许您可以将缩略图存储在单独的文档中,该文档仅包含缩略图。
我有一个带有文档的 CouchDB,如下所示:
{
"_id": "000040cc-e3b4-47cc-b051-a5508efb8996",
"_rev": "1-882d7f88cc2e1e767b55d0c82fb638d2",
"state": "uploaded",
"state_since": "2020-02-17T11:20:55.1450252Z"
// more metadata ...
"_attachments": {
"large.jpg": {
"content_type": "image/jpeg",
"revpos": 1,
"digest": "md5-NK7ejYjrErhMAs7tZ4+R8w==",
"length": 87846,
"stub": true
},
"medium.jpg": {
...
},
"small.jpg": {
...
}
}
}
假设,我想查询一组像这样的图像:
{
"selector": {
"state": "uploaded"
},
"sort": ["state_since"],
"limit": 100
}
如果我想显示这 100 张图片的缩略图,我必须遍历结果列表并下载相应的附件。这将是总共 101 个请求。
我也可以通过指定在一个请求中执行此操作,即我想获取带附件的文档。但这会 return 所有(可能非常大)附件。
我知道我可以将查询中的 fields
属性 设置为仅 return 我需要的字段。但是我也可以将其应用于附件吗?如果是:如何?
不,无法执行您的请求。获取附件子集的唯一方法是一次获取一个,或者在获取单个文档时使用 atts_since 属性,该文档旨在用于复制。
或许可以考虑重新设计您的文档。也许您可以将缩略图存储在单独的文档中,该文档仅包含缩略图。