SHI*_*RMA 3 sorting mongodb aggregation-framework
我正在尝试在 MongoDB 中实现排序。但我遇到一个问题,我的排序首先包括大写字母 AZ 文本,然后是小写字母。我不想要他们。我希望排序独立于案例。这是我的查询,
var partnerCollection = [
from: "courses",
localField: "_id",
foreignField: "partnerId",
as: "courses"
} },
{
$project:
{
"_id":1,
"partnerName":1,
"phone":1,
"email":1,
"courses.courseName": 1,
"courses.courseType":1,
}
},
{
$match: findUserDataCondition
},
{ $sort: { "partnerName" : 1 } },
{ $skip: start },
{ $limit: length }
];
Run Code Online (Sandbox Code Playgroud)
如果我用 PartnerName 排序,我得到的结果为 ABC, DEF, EFG , bcd, cde
我的预期结果是 ABC、bcd、cde、DEF、EFG。请帮助我解决这个问题
幸运的是,自 MongoDb 以来,引入了排序v3.4选项来指定特定于语言的字符串比较规则:
db.partnerCollection.aggregate([
...
],
{
collation: {
locale : "en"
}
})
Run Code Online (Sandbox Code Playgroud)
注意:如果还指定了caseFirst = "upper"参数,则大写字符串将排在小写之前。
| 归档时间: |
|
| 查看次数: |
2831 次 |
| 最近记录: |