gpt4 book ai didi

Azure Cosmos DB - 是否可以使用并非所有文档都存在的 JSON 字段作为分区键?

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

我正在尝试设置一个新的 Cosmos DB,它要求我设置分区键。我想我理解这个概念,我应该选择一个可以有效地对我的文档进行分组的 JSON 字段。

是否可以将集合配置为使用每个传入文档中可能不存在的 JSON 字段?

例如:

{
"name" : "Robin",
"DOB" : "01/01/1969",
"scans" : {
"bloodType" : "O"
}
}


{
"name" : "Bill",
"DOB" : "01/01/1969"
}

我可以使用/scans.bloodType 作为分区键吗?对于没有扫描 JSON 字段的文档,我仍然需要该数据,因为我可以稍后更新该文档。

最佳答案

您确实可以指定一个分区键,但该键可能并不存在于每个文档中。当您保存的文档缺少分区键指定的属性时,将导致为其分区键分配“未定义”值。

将来,如果您想为此类文档的分区键提供值,则必须删除该文档,然后重新添加。当某个属性的值恰好是该文档容器内的分区键时,您无法修改它(也不能将该属性添加到未明确定义该属性的现有文档中,因为该属性已被定义)分配了“未定义”值)。

参见this answer有关未定义分区键属性的更多详细信息。

关于Azure Cosmos DB - 是否可以使用并非所有文档都存在的 JSON 字段作为分区键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63181709/

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