使用唯一键删除波斯菊文档,而无需先获取对象

时间:2020-08-18 09:07:41

标签: c# azure-cosmosdb-sqlapi http-delete

我的对象看起来像这样:

{
  "documentType":"doc",
  "relatedKey": "Person1",
  "Color": "blue",
  "Street": "SomeStreet",
}

分区键设置为/ documentType

UniqueKey 设置为/ documentType,/ relatedKey

现在如何发送分区键和 UniqueKey 直接删除文档?通过使用Cosmos API?

以下代码显示了我要实现的目标:

    [HttpDelete]
    [Route("{documentType}/{relatedKey}")]
    public async Task<ActionResult<string>> DeleteDocument(string documentType, string relatedKey)
    {
        Document doc = await documentClient.DeleteDocumentAsync(String.Format("/dbs/{0}/colls/{1}/docs/{2}/{3}", database, collection, documentType, relatedKey), new RequestOptions { PartitionKey = new Microsoft.Azure.Documents.PartitionKey(documentType) });
        return Ok("ExtensionDocument deleted");
    }

我的主要困难是删除具有多个唯一键的对象,而不仅仅是PartitionKey

只有一个PartitionKey,我知道如何删除文档。

1 个答案:

答案 0 :(得分:1)

您不能以这种方式删除文档。您必须使用文档ID和分区键。

删除的文档为here