mongodb - Mongoose / mongoDB - 如何按字符串排序?
问题描述
有人可以帮助我如何在 mongo 上缩短字符串。
[{
"$group": {
"_id": "$bulan",
"total_vote": {
"$sum": {
"$multiply": "$nilai"
}
},
"count": {
"$sum": 1
}
}
}, {
"$sort": {
"_id": 1
}
}],
结果如下:
[
{ _id: '1', total_vote: 142, count: 23 },
{ _id: '11', total_vote: 50, count: 1 },
{ _id: '2', total_vote: 320, count: 160 },
{ _id: '3', total_vote: 94, count: 47 },
{ _id: '4', total_vote: 120, count: 60 },
{ _id: '5', total_vote: 650, count: 13 },
{ _id: '7', total_vote: 350, count: 7 },
{ _id: '8', total_vote: 102, count: 2 }
]
我坚持为什么 _id : 11 在 _id : 1 之后。
请如果有人可以帮助我解决这个问题。非常感谢。
解决方案
MongoDB 无法按存储为字符串的数字排序。这是解决方法
[
{
"$addFields": {
newId: {
$toInt: "$_id"
}
}
},
{
"$sort": {
newId: 1
}
},
{
$project:{
newId:0
}
}
]
工作蒙戈游乐场
推荐阅读
- python - 如何在 Python 中动态地将命名参数格式化为字符串?
- android - IllegalArgumentException:没有这样的服务 ComponentInfo{JobIntentService}
- c++ - 是函数参数c ++中允许的简写符号
- java - 如何在 mule 流的入站路径中创建变量?
- angularjs - PhpStorm 抱怨找不到类型,但仍然可以打开定义它的文件
- onedrive - 使用一个驱动器一键列出文件和文件夹
- php - 按外键mysql同一张表排序
- c - 指针变量的地址是如何分配的?他们遵循任何模式吗?
- javascript - 使用 php、已验证域、mx、电子邮件模式检查电子邮件是否存在
- reactjs - Redux 状态未定义