我有以下文档结构:
{
..
"mainsubject" : {
"code": 2768,
"name": "Abc"
}
}
Run Code Online (Sandbox Code Playgroud)
现在我需要所有 mainsubject.code 的列表以及它们的使用频率。
在 SQL 中我会做这样的事情:
SELECT mainsubject_code, COUNT(*) AS 'count'
FROM products
GROUP BY mainsubject_code
ORDER BY count
Run Code Online (Sandbox Code Playgroud)
我已经能够将其分组并计数:
db.products.aggregate([
{"$group" : {_id:"$mainsubject.code", count:{$sum:1}}}
]);
Run Code Online (Sandbox Code Playgroud)
但如何排序呢?
db.coll.aggregate([
{
$group: {
_id: "$mainsubject.code",
countA: { $sum: 1}
}
},
{
$sort:{$mainsubject.code:1}
}
])
Run Code Online (Sandbox Code Playgroud)
不工作?
Ank*_*ary 10
在查看您的 sql 查询时,看起来您想按计数排序。因此,在 mongo 查询中,您还应该提及countA排序字段。
db.coll.aggregate([
{
$group: {
_id: "$mainsubject.code",
countA: { $sum: 1}
}
},
{
$sort:{'countA':1}
}
])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17434 次 |
| 最近记录: |