Я унаследовал проект на работе, который использует Azure Cosmos DB.Это абсолютно новое для меня.В CosmosDB у нас есть куча пользовательских настроек, которые сохраняются.Я обнаружил опечатку в настройках, которые мне нужно исправить.Тем не менее, я не могу понять, как изменить значение.
До сих пор я нашел проводник запросов и хочу выполнить этот запрос:
Update c
set c.Setting = REPLACE(c.Setting, 'N*m', 'N-m')
, но обозреватель запросов поддерживает только select, а не обновление.
Я пытался использовать Azure Storage Explorer, но когда я пытаюсь получить доступ к документу, я не получаю ничего, кроме модального слова «Держись! Мы все еще работаем над этим».Серьезно, Microsoft?
В настоящее время я думаю загрузить загруженную процедуру и запустить ее.Но я не уверен, с чего начать.Мое другое мышление - написать небольшое приложение на c #, которое просматривает каждый пользовательский документ и обновляет их индивидуально.Примерно так:
currId = 0;
databaseId = ...;
collectionId = ...;
collectionLink = ...;
while (currId < maxUserId) {
var response = await client.ReadDocumentAsync(UriFactory.CreateDocumentUri(databaseId, collectionId, currId.ToString()));
if (response.Resource != null) {
var upserted = response.Resource;
upserted.SetPropertyValue("Setting", "N-m");
response = await client.UpsertDocumentAsync(collectionLink, upserted);
}
currId++;
}
Но, боже, если это не кажется глупой идеей ...
Какой лучший способ обновить одно значение в документе CosmosDB?