首页 > 解决方案 > 使用深度嵌套的树搜索部分片段

问题描述

我正在寻找一种使用“过滤路径片段”过滤文档的方法(因为没有更好的词)。我有一个深度嵌套和递归的 JSON 结构,我不想写一个怪物查询。

查询应该是这样的

WHERE start_prop.next_prop.[here comes lots of different props which I want to "ignore"].next_inner_prop.[again stuff to ignore].final_prop = "Foo"

也许“忽略”在这里是错误的术语,它更多的是[]应该表达的东西:“是的,这里有什么”

或者像这样的东西

WHERE start_prop.next_prop.**.next_inner_prop.*.final_prop = "Foo"

我希望我的问题是有道理的。

谢谢

标签: azure-cosmosdb

解决方案


不支持。正如诺亚所说,索引是从值的完整路径构建的,您没有已知的路径。Cosmos 查询引擎也不支持*关键字。所以这条 SQL 是行不通的WHERE start_prop.next_prop.**.next_inner_prop.*.final_prop = "Foo"。您需要在客户端处理此问题。


推荐阅读