一尘不染

Mongodb以不区分大小写的方式排序

node.js

我在mongodb作为数据库的nodejs(express)中的一个项目中非常努力地工作。当我使用sort()获取所有数据时,它以错误的方式返回数据,所以有办法按我期望的那样正确地设置其格式,如下所示:如果我们在数据库中有三个记录:

---------------------
id  | Name |  aga
---------------------
1   | atul | 21
---------------------
2   | Bhavik | 22
---------------------
3   | Jay | 25

我现在得到的是:

2,3,1系列数据

我期望会是:1,2,3

这意味着在不添加新列的情况下可以排序的情况下将忽略大小写。


阅读 277

收藏
2020-07-07

共1个答案

一尘不染

您需要在 collation
这里使用locale: "en"

db.collection.find({}).collation({ locale: "en" }).sort({ name: 1 })

所以对于下面的文件

{ "_id" : 1, "name" : "Bhavik" }
{ "_id" : 2, "name" : "Jay" }
{ "_id" : 3, "name" : "atul" }

你会得到

{ "_id" : 3, "name" : "atul" }
{ "_id" : 1, "name" : "Bhavik" }
{ "_id" : 2, "name" : "Jay" }
2020-07-07