2017-05-15 75 views
1

我有以下F#代碼試圖從我的documentdb數據庫中獲取用戶文檔,但它不起作用。是否有其他人使用ReadDocumentAsync方法遇到問題?我能夠成功地用CreateDocumentQuery方法查詢我的用戶文檔。任何幫助是極大的讚賞。我用我的數據庫和收集IDS到位在代碼中的空字符串的片斷Documentdb ReadDocumentAsync不起作用

let getUserDatabaseModel (documentClient : DocumentClient) originiatorId = 
    async { 
     let databaseId = "" 
     let collectionId = "" 
     let documentUri = UriFactory.CreateDocumentUri(databaseId, collectionId, originiatorId) 

     let! userDatabaseModel = 
      documentClient.ReadDocumentAsync(documentUri) 
       |> Async.AwaitTask 


     return userDatabaseModel 
    } 
     |> Async.RunSynchronously 

更新 如果我使用_rid而不是ID的我找回數據。爲了澄清ReadDocumentAsync似乎使用_rid但在使用id時拋出下面的錯誤。

mscorlib: Exception has been thrown by the target of an invocation. 
FSharp.Core: One or more errors occurred. Microsoft.Azure.Documents.Client: 
The value 'left blank intentionally' specified for 
query '$resolveFor' is invalid 

我發佈了一段時間在documentdb github問題頁面上,我遇到了與ReplaceDocumentAsync有關的問題。

https://github.com/Azure/azure-documentdb-dotnet/issues/113

我是不是太在意的修復,因爲有UpsertDocumentAsync。這個問題似乎是相關的,或者他們的關係只是我!無法弄清楚我做錯了什麼。

+2

「不工作」是沒有問題的一個很好的說明。請澄清你的意思。 –

回答

1

CreateDocumentUri需求相一致的ID,要麼所有的ID或全部_rids數據庫,收集和文檔