MongoDB分组取每组中第一条数据
时间: 2023-10-02 16:11:24 浏览: 173
My SQL group by取同组第一条
可以使用MongoDB的聚合框架中的$group和$first操作符来实现:
```mongodb
db.collection.aggregate([
{ $sort: { groupField: 1, sortField: 1 } }, //先排序
{ $group: { _id: "$groupField", first: { $first: "$$ROOT" } } }, //分组并取每组第一条数据
{ $replaceRoot: { newRoot: "$first" } } //替换根文档为第一条数据
])
```
其中,groupField是分组字段,sortField是排序字段,可以根据实际需求进行修改。$sort操作符可以根据需要进行添加,保证数据在分组前已按照需要的顺序排序。$replaceRoot操作符用于将每组第一条数据替换为根文档,以便后续操作。
阅读全文