gpt4 book ai didi

azure-cosmosdb - 如何在 Azure DocumentDB 中执行类似于 SQL 连接的连接操作

转载 作者:行者123 更新时间:2023-12-01 09:21:11 26 4
gpt4 key购买 nike

我在 Azure DocumentDB 中有一个集合,其中的文档使用名为 clusterName 的 JSON 属性将文档聚集成 3 个集合。 3 组文档的模板有点像这样:

<强>{"clusterName": "客户信息","id": "CustInfo1001",“客户名称”:“XXXX”},

<强>{"clusterName": "区域信息","id": "ZoneInfo5005",“区域名称”:“YYYY”},

<强>{"clusterName": "CustomerZoneAssociation","id": "CustZoneAss9009","custId": "CustInfo1001",“zoneId”:“ZoneInfo5005”}

您可以看到 CustomerZoneAssociation 的文档将 CustomerInformationZoneInformation 的文档与它们的 Id 链接起来。我需要帮助查询来自 CustomerInformation 和 ZoneInformation 集群的信息,这要借助它们在 CustomerZoneAssociation 集群中关联的 Id 。我期待的查询结果是:

<强>{"clusterName": "CustomerZoneAssociation","id": "CustZoneAss9009","custId": "CustInfo1001","custName": "XXXX","zoneId": "ZoneInfo5005",“区域名称”:“YYYY”}

请提出一个仅需 1 次即可访问 DocumentDB 的解决方案

最佳答案

DocumentDB 不支持文档间 JOIN... 相反,JOIN 关键字用于执行文档内交叉产品(用于嵌套数组)。

我会推荐以下方法之一:

  • 请记住,您不必像使用传统 RDBMS 那样规范化每个实体。可能值得重新审视您的数据模型,并在适当的情况下对部分数据进行非规范化。还要记住,反规范化有其自身的权衡(扇出写入与发出后续读取)。查看以下 SO 答案以了解有关 tradeoffs between normalizing vs de-normalizing data 的更多信息。

  • 编写一个存储过程来批处理单个网络请求中的一系列操作。查看以下关于 code sample on this approach 的 SO 答案。

关于azure-cosmosdb - 如何在 Azure DocumentDB 中执行类似于 SQL 连接的连接操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32604279/

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