В моей базе данных CosmosDB есть такие документы:
{
"id": "12345",
"filename": "foo.txt",
"versions": {
"1": {
"storageAccount": "blob123",
"size": 33
},
"2": {
"storageAccount": "blob123",
"size": 42
}
}
}
(это упрощенный образец)
Мне нужно запросить свойство "storageAccount"
, чтобы проверить, есть лифайлы хранятся в данной учетной записи хранения.Но я не могу найти способ выразить «для каждой версии».
Я пробовал это, но, конечно, это не работает
select top 1 *
from c
join v in c.versions
where v.storageAccount = 'blob123'
Видимо JOIN
работает только намассивы, а не словари.Есть ли способ запроса элементов в словаре?
В качестве обходного пути я могу использовать UDF, но производительность и стоимость ужасны (1200 RU для всего 2000 документов, когда нет соответствующего документа ...)
РЕДАКТИРОВАТЬ: обновлено, чтобы более точно отразить фактический вариант использования