azure-cosmosdb - 使用深度嵌套的树搜索部分片段
问题描述
我正在寻找一种使用“过滤路径片段”过滤文档的方法(因为没有更好的词)。我有一个深度嵌套和递归的 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"
我希望我的问题是有道理的。
谢谢
解决方案
不支持。正如诺亚所说,索引是从值的完整路径构建的,您没有已知的路径。Cosmos 查询引擎也不支持*
关键字。所以这条 SQL 是行不通的WHERE start_prop.next_prop.**.next_inner_prop.*.final_prop = "Foo"
。您需要在客户端处理此问题。
推荐阅读
- python - Python TypeError 中的 Mysql.connector
- mysql - Plesk only_full_group_by 错误
- design-patterns - 使用桥接模式有什么缺点?
- java - 程序在数据库中存储快,在后端慢
- android - Project .Android 在 Xamarin 中不可用(VS2015 社区)
- mysql - MySQL在分层列表中查找所有ID
- python - 所有日期的 Pandas df sum groupby 列
- php - 表中不存在 Laravel 验证
- c# - 使用 cookie 重定向的 WebRequest 不起作用(Windows Build 15063)
- java - 包 io.tus.java.client 不存在