У меня есть 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 запрос.
Я также мог бы сделать это одним запросом, указав, что я хочу получить документы с вложениями. Но это вернет все (потенциально очень большие) вложения.
Я знаю, что могу установить свойство fields
в своем запросе, чтобы возвращать только те поля, которые мне нужны. Но можно ли применить это и к вложениям? И если да, то как?