我可以使用 Order By 和 ToLower 对 DocumentDB 执行 case-insensitive 字符串排序吗?

Can I use Order By and ToLower to perform a case-insensitive string sort on DocumentDB?

我想按标题的字母顺序对我的 DocumentDB collection 中的记录进行排序。起初我认为这是可行的:

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

但这两个都会产生错误。如何执行 case-insensitive 字符串排序?

进行不区分大小写的搜索的最佳方法是添加一个单独的字段,该字段使用相应字段(在本例中为标题)的小写字母创建。 DocumentDB 提供了一种高效的 auto-index 机制,该机制几乎没有增加额外字段的开销。

获得额外字段后,将小写查询指向新字段。