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

Rus*_*dhu 6 mongoose mongodb node.js

我在nodejs(express)中使用mongodb作为数据库的一个项目非常难.当我使用sort()获取所有数据时,它以错误的方式返回数据,所以有没有办法正确格式化,因为我期望如下:如果我们在DB中有三条记录:

---------------------
id  | Name |  aga
---------------------
1   | atul | 21
---------------------
2   | Bhavik | 22
---------------------
3   | Jay | 25
Run Code Online (Sandbox Code Playgroud)

我目前得到的是:

2,3,1系列数据

我期待的是:1,2,3

这意味着忽略这种情况,而排序是可能的,而无需添加新列.

Ash*_*shh 7

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

db.collection.find({}).collation({ locale: "en" }).sort({ name: 1 })
Run Code Online (Sandbox Code Playgroud)

所以对于下面的文件

{ "_id" : 1, "name" : "Bhavik" }
{ "_id" : 2, "name" : "Jay" }
{ "_id" : 3, "name" : "atul" }
Run Code Online (Sandbox Code Playgroud)

你会得到

{ "_id" : 3, "name" : "atul" }
{ "_id" : 1, "name" : "Bhavik" }
{ "_id" : 2, "name" : "Jay" }
Run Code Online (Sandbox Code Playgroud)