【发布时间】:2021-01-07 00:34:26
【问题描述】:
我们正在尝试使用 spring-data-cosmosdb 项目中的 cosmosTemplate 实现查询。
该查询具有以下语法:"select * from movie where ARRAY_CONTAINS(movie.countries, @country)"。
CosmosTemplate 接受基于 Criteria 对象的 DocumentQuery 对象。 Criteria 对象支持一小部分基本谓词,如in、or、is equal 等,但没有array_contains 谓词。
目前查询是通过使用 cosmos 客户端(来自 sdk)而不是 cosmosTemplate 执行的。
这给我们带来了两个问题:
- 我们必须混合使用 cosmosTemplate 和 cosmos 客户端的代码。
- 由于我们有使用系统函数的复杂参数化查询,我们必须连接 sql 查询字符串并收集 sql 参数。
应该如何使用 cosmosTemplate 处理此类查询,这是否可能?
PS 我们正在使用 com.microsoft.azure:azure-cosmosdb-spring-boot-starter:2.2.5 库。
【问题讨论】:
标签: java spring-data azure-cosmosdb azure-cosmosdb-sqlapi