#c# #azure-cosmosdb #azure-cosmosdb-sqlapi
#c# #azure-cosmosdb #azure-cosmosdb-sqlapi
Вопрос:
Я пытаюсь удалить документ из CosmosDB, используя приведенный ниже код, но каждый раз продолжаю получать следующую ошибку: «Microsoft.Azure.Документы.Исключение DocumentClientException: Объект с указанным идентификатором не существует в системе»
Документ определенно находится в базе данных:
Это код, который я использую:
this.client = new DocumentClient(new Uri(EndpointUri), PrimaryKey);
var docUri = UriFactory.CreateDocumentUri(DatabaseName, CollectionName, documentId);
var result = await this.client.DeleteDocumentAsync(docUri, new RequestOptions { PartitionKey = new PartitionKey("/id") });
У кого-нибудь есть идеи, в чем может заключаться проблема?
Спасибо
Ответ №1:
PartitionKey
Свойство в RequestOptions
классе представляет значение, а не определение ключа раздела.
Это означает, что ваша строка удаления должна быть такой:
var result = await this.client.DeleteDocumentAsync(docUri, new RequestOptions { PartitionKey = new PartitionKey(documentId) });
Комментарии:
1. Я сделал то же самое. Действительно хотелось бы, чтобы примеры кода MS были понятнее!