私はAzureのDocumentDb
をF#で使用しています。新しいドキュメントを作成し、すべてのドキュメントをロードし、where
フィルタを適用したIDでドキュメントをロードできました。しかし、私は文書を置き換えることはできませんし、F#にはほとんどドキュメントがありません。DocumentDbでドキュメントが置き換えられない
これは、私は、ドキュメントを更新するために使用しています関数です。
let update (c : MyObject) =
let cli = createClient()
cli.ReplaceDocumentAsync(documentUri(), c)
|> Async.AwaitTask
|> ignore
c
createClient
は単に私が新しいドキュメント保存&をロードしてみましょう同じ引数で、DocumentClient
の新しいインスタンスを作成します。同様に、documentUri()
は他の機能でも機能します。
私の推測私は実際には私が見ている例に基づいて、私は無視しているタスクの役に立つ応答を得ているということです。しかし、その反応を得ることは困難であることが証明されています。
これは、私が働いて得ることを試みたが、私はキャストしていないようでした形になってしまった方法である:
ここlet update2 (c : MyObject) =
let cli = createClient()
let updatedDoc = async {
return! cli.ReplaceDocumentAsync(documentUri(), c) |> Async.AwaitTask
}
updatedDoc
、はタイプAsync<ResourceResponse<Document>>
です。私はAsync
ラッパーからそれを取り出す方法を見つけることができないようで、一度私はDocument
をどのようにMyObject
に変えるのか分かりません。
ので、要約すると:
- 問題は、私は私が私が無視してるのタスクのうち、エラーメッセージか何かを得ている疑いがある文書
- を更新することができませんということです。
ええ、私は彼らが異なっていた知っていたが、私のC#経験は私に 'RunSynchronously'コマンドを気にしました。あなたがそれを与えた文脈では、より意味があります。私は混乱するエラーを得ることができた、それを解決し、今私はドキュメントを更新することができます。ありがとう! – Max
うれしい私は助けることができます。 –