Azure cosmosdb 使用深度嵌套树搜索部分片段

Azure cosmosdb 使用深度嵌套树搜索部分片段,azure-cosmosdb,Azure Cosmosdb,我正在寻找一种使用“过滤路径片段”(因为没有更好的词)过滤文档的方法。我有一个深度嵌套和递归的JSON结构,我不想写一个monster查询 查询应该如下所示 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" WH

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

查询应该如下所示

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"
也许这里的“忽略”一词是错误的,
[]
中的内容更应该表达:“是的,不管这里有什么”

或者类似的事情

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"
我希望我的问题有意义


Thx不受支持。正如Noah所说,索引是从值的完整路径构建的,您可以
没有已知的路径。另外,Cosmos查询引擎不支持
*
关键字。因此,此SQL无法工作
WHERE start\u prop.next\u prop.*.next\u internal\u prop.*.final\u prop=“Foo”
。您需要在客户端处理此问题。

它不受支持。正如Noah所说,索引是从值的完整路径构建的,您可以
没有已知的路径。另外,Cosmos查询引擎不支持
*
关键字。因此,此SQL无法工作
WHERE start\u prop.next\u prop.*.next\u internal\u prop.*.final\u prop=“Foo”
。您需要在客户端处理这一问题。

根据定义,我认为您必须放弃使用任何索引,因为索引是从值的完整路径构建的,而且听起来您似乎没有已知的路径可提供。如果是这样的话,那么在Cosmos端查询与获取整个数据集并在客户端代码中进行过滤相比,将不会获得任何效率。根据定义,我认为您必须放弃使用任何索引,因为索引是从值的完整路径构建的,而且听起来您似乎没有已知的路径可提供。如果是这样的话,那么在Cosmos端查询中,与获取整个数据集并在客户端代码中进行过滤相比,将不会获得任何效率。