首页 > 解决方案 > 将数组对象转换为小写以在 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

标签: azure-cosmosdbazure-cosmosdb-sqlapi

解决方案


您最好的选择是将可搜索的元数据内容存储为小写(即使这意味着存储第二个数组,用于搜索目的)。没有不区分大小写的搜索功能,并且在使用类似LOWER(), 的东西时,您将不会利用索引。


推荐阅读