Azure cosmosdb 我可以使用Order By和ToLower对DocumentDB执行不区分大小写的字符串排序吗?
我想按标题的字母顺序对DocumentDB集合中的记录进行排序。起初我认为这是可行的:Azure cosmosdb 我可以使用Order By和ToLower对DocumentDB执行不区分大小写的字符串排序吗?,azure-cosmosdb,Azure Cosmosdb,我想按标题的字母顺序对DocumentDB集合中的记录进行排序。起初我认为这是可行的: SELECT c.Title FROM c ORDER BY c.Title 但正如所料,这种方法将小写字母排序在大写字母之后。我希望我的搜索不区分大小写,因此我尝试了以下方法: SELECT c.Title FROM c order by LOWER(c.Title) 这是: SELECT LOWER(c.Title) AS title FROM c ORDER BY title 但这两者都会产生
SELECT c.Title FROM c ORDER BY c.Title
但正如所料,这种方法将小写字母排序在大写字母之后。我希望我的搜索不区分大小写,因此我尝试了以下方法:
SELECT c.Title FROM c order by LOWER(c.Title)
这是:
SELECT LOWER(c.Title) AS title FROM c ORDER BY title
但这两者都会产生错误。如何执行不区分大小写的字符串排序?执行不区分大小写搜索的最佳方法是添加一个单独的字段,该字段使用相应字段(在本例中为标题)的小写字母创建。DocumentDB提供了一种高效的自动索引机制,它几乎不增加额外字段的开销
一旦您有了额外的字段,请将小写查询指向新字段。我讨厌这是DocumentDB的最佳解决方案,但我认为您是对的!我唯一想到的另一件事是使用UDF,但是使用计算字段要比弄清楚它是如何工作的以及是否可以按顺序使用它容易得多。