首页 > 解决方案 > CosmosDB 获取嵌套子节点的数量

问题描述

我试图限制子对象可以在其父对象上定义的深度。

示例子简化对象:

{
    "name": "childgroup",
    "clientId": "1ea87515-63d2-41b8-b327-5a179394bd4c",
    "parentId": "9a6d3b39-3143-492f-b729-417a721640c9",
}

示例 Root 简化对象

{
    "name": "Root",
    "clientId": "1ea87515-63d2-41b8-b327-5a179394bd4c",
    "parentId": null,
}

所以现在 Root 和 child 之间的区别是 Root 对象没有parentId.

我想限制用户创建无限数量的依赖于前一个父级的子级。因此,前一个父对象的子对象现在是新子对象的父对象。

因此,我需要检查我的用户何时想要创建一个新对象,以了解用户提供给我的 parentId 的最后一个孩子有多“深”。

我怎样才能使这个查询是 cosmosDB 半高效的?

我可以从孩子那里查询每个父母并计算每次找到父母时的数字,但这似乎效率低下......

标签: azure-cosmosdbazure-cosmosdb-sqlapi

解决方案


推荐阅读