azure-cosmosdb - 将数组对象转换为小写以在 CosmosDB 查询中进行比较
问题描述
我试图让我们的查询不区分大小写。这意味着在 Cosmos DB 中使用 array_contains 进行查询并尝试将值转换为小写。
我已经尝试了 LOWER() 的各种迭代来包装查询中的值,但似乎没有任何方法可以将值从数组转换为小写。同样重要的是它是精确匹配而不是模糊。这当然也在我们模型中 Power BI 的查询中,因此它使用 M 代码查询 Cosmos DB。
让
querystring = "SELECT * FROM c WHERE c.properties.Type ='Noon' and array_contains(c.properties.Clients, '" & DynamicClientList & "' )",
results = DocumentDB.Contents(DocumentDBURL, Env & ".ImoData","Collected", [Query=querystring])
在
results
解决方案
您最好的选择是将可搜索的元数据内容存储为小写(即使这意味着存储第二个数组,用于搜索目的)。没有不区分大小写的搜索功能,并且在使用类似LOWER()
, 的东西时,您将不会利用索引。
推荐阅读
- python - 将大字符串转换为数据框
- complex-event-processing - 使用 esper cep 删除以前的事件
- python - Python:在for循环意外结果中追加列表
- ruby-on-rails - 尝试将数据库从 Heroku 拉到本地时出现带有 Rails 5.2 的 Heroku 错误(pg:pull)
- git - Git:基础变基(Java)
- electron.net - 无法获得桌面类型的窗口
- typescript - 使用 grpc-web 为 vue 配置 Envoy
- imagemagick - ImageMagick,在转换运算符链中设置相对大小
- c# - C# [Required()] 注解不应该抛出异常
- php - 更新会话数据不起作用 - CodeIgniter