mongodb中aggregate的使用
0.准备以下数据
db.user.insertOne(
{ name: "小明", hobby: "篮球" }
)
db.user.insertOne(
{ name: "小红", hobby: "篮球" }
)
db.user.insertOne(
{ name: "旺财", hobby: "篮球" }
)
db.user.insertOne(
{ name: "旺财", hobby: "足球" }
)
db.user.insertOne(
{ name: "旺财", hobby: "乒乓球" }
)
db.user.insertOne(
{ name: "小明", hobby: "乒乓球" }
)
1.用名字分组,查出数量大于1的
db.user.aggregate([
{ $group: { _id: "$name", total: { $sum: 1 } } },
{'$match': {
'total': {'$gt': 1}
}}
])
2.查询出爱好数量大于一个的
db.user.aggregate(
[
{
$group:
{
_id: "$name",
hobbySet: { $addToSet: "$hobby" }
}
},
{'$match': {
'hobbySet.1': {$exists:1}
}}
]
)
本文介绍了如何在MongoDB中使用aggregate函数进行数据分组和筛选。通过示例展示了如何根据用户的名字分组并查找数量大于1的记录,以及如何查询爱好超过一项的用户。这些操作对于数据统计和分析至关重要。
673

被折叠的 条评论
为什么被折叠?



