如何按给定字段对 MongoDB 集合进行排序,不区分大小写?默认情况下,我在 a-z 之前得到 A-Z。
最佳答案
更新: 截至目前 mongodb 有不区分大小写的索引:
Users.find({})
.collation({locale: "en" })
.sort({name: 1})
.exec()
.then(...)
外壳:
db.getCollection('users')
.find({})
.collation({'locale':'en'})
.sort({'firstName':1})
更新:此答案已过时,3.4 将具有不区分大小写的索引。查看 JIRA 了解更多信息 https://jira.mongodb.org/browse/SERVER-90
不幸的是,MongoDB 还没有不区分大小写的索引:https://jira.mongodb.org/browse/SERVER-90并且任务已被推回。
这意味着当前排序不区分大小写的唯一方法是实际创建一个特定的“小写”字段,复制相关排序字段的值(当然是小写)并对其进行排序。
https://stackoverflow.com/questions/22931177/