给定一个分层的JSON结构:
{
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?
我认为这种结构是不正确的,最好将子对象保存为平面数组,并将树信息保持独立。
发布于 2022-01-04 05:25:04
正如注释部分中的@Mark Bwown一样,您的需求没有好的或最好的方法。张贴同样的,以帮助其他社区成员。
唯一推荐的方法是只查询根,将其反序列化为动态类型,然后在代码中遍历它,检查非空类型或非空数组。
发布于 2022-04-08 19:32:15
尽管它没有直接回答您关于在CosmosDB上使用Azure进行操作的问题。我建议您使用cosmosdb支持的mongo。这为您提供了子节点数据的完整特征筛选。这里的例子:https://learn.microsoft.com/en-us/azure/cosmos-db/mongodb/tutorial-query-mongodb
https://stackoverflow.com/questions/70248046
复制相似问题