如果区分大小写,如何使排序功能良好。我们怎样才能使它正确
请建议最好的修复方法
db.products.aggregate([
{
"$unwind": "$receipe"
},
{
"$unwind": "$receipe.burger"
},
{
"$sort": {
"receipe.burger.name": 1
}
}
])
https://mongoplayground.net/p/2pnUABI_-Mr
在我的示例中,familyburger 应该首先显示,而不是 Paneer Burger。
最佳答案
演示 - https://mongoplayground.net/p/Vt3GQx0tdXC
- 使用 $toLower 添加一个小写的新字段
- 取小写值
db.products.aggregate([
{ "$unwind": "$receipe" },
{ "$unwind": "$receipe.burger" },
{ $addFields: { "insensitiveName": { $toLower: "$receipe.burger.name" } } },
{ $sort: { "insensitiveName": 1 } }
])
关于mongodb展开并排序嵌套在文档数组中的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68224497/