gpt4 book ai didi

azure - DocumentDB 替换不起作用

转载 作者:行者123 更新时间:2023-12-04 14:25:02 25 4
gpt4 key购买 nike

我最近意识到 DocumentDB 通过 ReplaceDocumentAsync 支持独立更新操作。

我已将下面的更新插入操作替换为替换操作。

var result = _client
.UpsertDocumentAsync(_collectionUri, docObject)
.Result;

现在是这样:

var result = _client
.ReplaceDocumentAsnyc(_collectionUri, docObject)
.Result;

但是,现在我得到了异常(exception):

Microsoft.Azure.Documents.BadRequestException : ResourceType Document is unexpected. ActivityId: b1b2fd71-3029-4d0d-bd5d-87d8d0a2fc95

不知道为什么,upsert 和 Replace 具有相同的性质,并且对象与用于 upsert 的对象相同,因此我希望它能够正常工作。

感谢所有帮助。

谢谢

更新:已尝试使用 SelfLink 方法来实现这一点,它适用于 Replace,但 selflink 不适用于 Upsert。这种行为非常令人困惑。我不喜欢必须使用字符串连接在代码中构建自链接。

最佳答案

恐怕使用字符串连接构建自链接是您唯一的选择,因为 ReplaceDocument(...) 需要指向文档的链接。您在示例中显示了指向该集合的链接。它不会按照您的意愿提取 ID 并找到文档。

NPM 模块,documentdb-utils ,具有用于构建这些链接的库函数,但它只是使用字符串连接。我见过 .NET 的等效库,但我不记得在哪里。也许它在 Azure 示例中,甚至现在在 SDK 中。

关于azure - DocumentDB 替换不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37726686/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com