簡體   English   中英

從 documentdb 中刪除文檔時出現“Resource Not Found”錯誤

[英]“Resource Not Found” error on deleting document from documentdb

我在刪除文檔表單文檔數據庫時遇到問題。 代碼非常簡單,我沒有做任何花哨的事情。 基本上我得到了文檔的自鏈接,然后使用自鏈接刪除,但它給了我例外。

await client.DeleteDocumentAsync(entity.SelfLink, new RequestOptions() { PartitionKey = new PartitionKey(partitionKey) }).ConfigureAwait(false);

實體是一個新添加的文檔,它存在於數據庫中(我已經從 Azure 門戶檢查過它的存在)

我得到的例外:

消息:{“錯誤”:[“未找到資源”]} ActivityId:052ad225-4e04-4757-89b8-51f6ccf55f7c,請求 URI: https ://sy3prdddc05-docdb-1.documents.azure.com:15236/apps / 0ee0095b-872d-45bc-8739-67cfbd97db79 /服務/ 466a4dd1-27d3-45ca-b013-6875f06a38ab /分區/ 73e5c3d8-0332-4c0c-9aec-47a3469ba958 /復制/ 131354346050636923p // DBS / l29HAA == / colls / l29HAKZFJwA = /文檔/l29HAKZFJwAfAAAAAAAAAA==

任何的想法??

我終於找到問題了! 我指定用於收集的分區鍵的名稱是 Pascal case 而不是 Camel case! 顯然它區分大小寫,所以它找不到分區鍵!

我也有類似的情況。 在我的 Repository 中,我使用了一個字符串作為分區鍵,在我的文檔中我使用了 int 類型。 將其更改為 object 以保持 Repository 中立並對其他類型開放。

public virtual async Task DeleteAsync(string databaseId, string collectionId, string id, object partitionKey)
    {
        var reqOptions = new RequestOptions()
        {
            PartitionKey = new PartitionKey(partitionKey)
        };

        await Client.DeleteDocumentAsync(UriFactory.CreateDocumentUri(databaseId, collectionId, id), reqOptions);
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM