Documentdb-delete-document
提供:Dev Guides
DocumentDB-ドキュメントの削除
この章では、DocumentDBアカウントからドキュメントを削除する方法を学びます。 Azure Portalを使用すると、ドキュメントエクスプローラーでドキュメントを開き、[削除]オプションをクリックして、ドキュメントを簡単に削除できます。
確認メッセージが表示されます。 [はい]ボタンを押すと、DocumentDBアカウントでドキュメントが使用できなくなっていることがわかります。
Net SDKを使用してドキュメントを削除する場合。.
- ステップ1 *-これは、新しいドキュメントごとにSelfLinksを取得するために最初にクエリを行う場所で見たパターンと同じです。 ここではSELECT *を使用しません。これはドキュメント全体を返すため、必要ありません。
- ステップ2 *-代わりに、SelfLinksをリストに選択し、SelfLinkごとにDeleteDocumentAsyncを一度に1つずつ呼び出して、コレクションからドキュメントを削除します。
private async static Task DeleteDocuments(DocumentClient client) {
Console.WriteLine();
Console.WriteLine(">>> Delete Documents <<<");
Console.WriteLine();
Console.WriteLine("Quering for documents to be deleted");
var sql =
"SELECT VALUE c._self FROM c WHERE STARTSWITH(c.name, 'New Customer') = true";
var documentLinks =
client.CreateDocumentQuery<string>(collection.SelfLink, sql).ToList();
Console.WriteLine("Found {0} documents to be deleted", documentLinks.Count);
foreach (var documentLink in documentLinks) {
await client.DeleteDocumentAsync(documentLink);
}
Console.WriteLine("Deleted {0} new customer documents", documentLinks.Count);
Console.WriteLine();
}
- ステップ3 *-次に、CreateDocumentClientタスクから上記のDeleteDocumentsを呼び出します。
private static async Task CreateDocumentClient() {
//Create a new instance of the DocumentClient
using (var client = new DocumentClient(new Uri(EndpointUrl), AuthorizationKey)) {
database = client.CreateDatabaseQuery("SELECT *FROM c WHERE c.id =
'myfirstdb'").AsEnumerable().First();
collection = client.CreateDocumentCollectionQuery(database.CollectionsLink,
"SELECT* FROM c WHERE c.id = 'MyCollection'").AsEnumerable().First();
await DeleteDocuments(client);
}
}
上記のコードが実行されると、次の出力が表示されます。
**** *Delete Documents* ****
Quering for documents to be deleted
Found 2 documents to be deleted
Deleted 2 new customer documents