Изменение значения в базе данных Azure Cosmos - PullRequest
0 голосов
/ 10 мая 2018

Я унаследовал проект на работе, который использует 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?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...