首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >是否可以使用Cosmos的DB查询树层次结构的任何子节点,但深度没有响应?

是否可以使用Cosmos的DB查询树层次结构的任何子节点,但深度没有响应?
EN

Stack Overflow用户
提问于 2021-12-06 15:41:02
回答 2查看 192关注 0票数 0

给定一个分层的JSON结构:

代码语言:javascript
复制
{
  id = 1,
  text = "Root",
  children = [
    {
      id = 2,
      nodeType = "foo",
      children = [
        {
          {
            id = 3,
            nodeType = "foo",
            children = [
              {
              }
            ]
          },
          {
            id = 6,
            nodeType = "bar",
            children = [
              {
              }
            ]
          }
        }
      ]
    },
    {
      id = 4,
      nodeType = "foo",
      children = [
        {
        }
      ]
    }
  ]
}

层次结构的深度是未知的。使用Cosmos SQL查询,是否有一种(可执行的)方法来查找所有子对象的ID( nodeType == foo ),这将导致ID 2、3和4?

我认为这种结构是不正确的,最好将子对象保存为平面数组,并将树信息保持独立。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-01-04 05:25:04

正如注释部分中的@Mark Bwown一样,您的需求没有好的或最好的方法。张贴同样的,以帮助其他社区成员。

唯一推荐的方法是只查询根,将其反序列化为动态类型,然后在代码中遍历它,检查非空类型或非空数组。

票数 0
EN

Stack Overflow用户

发布于 2022-04-08 19:32:15

尽管它没有直接回答您关于在CosmosDB上使用Azure进行操作的问题。我建议您使用cosmosdb支持的mongo。这为您提供了子节点数据的完整特征筛选。这里的例子:https://learn.microsoft.com/en-us/azure/cosmos-db/mongodb/tutorial-query-mongodb

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70248046

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档