MongoDB:按组聚合后按唯一值统计
MongoDB: Count by unique value after aggregate by group
我必须按组计算唯一值。
这是示例数据:
[
{
iphone: iphone6,
name: Tom
},
{
iphone:iphone7,
name: Tom
},
{
iphone:iphone6,
name: Joe
},
{
iphone:iphoneX,
name: Joe
}
]
我想通过显示来分组:
[
{
_id:iphone6,
people:[Tom,Joe]
},
{
_id:iphone7,
people:[Tom]
},
{
_id:iphoneX,
people:[Joe]
}
]
我在使用 $group
时遇到问题。我该怎么做?
$group
:按iphone
和$push
name
到people
数组字段分组。
$sort
(可选):按 _id
升序排序。
db.collection.aggregate([
{
$group: {
_id: "$iphone",
people: {
$push: "$name"
}
}
},
{
$sort: {
_id: 1
}
}
])
我必须按组计算唯一值。 这是示例数据:
[
{
iphone: iphone6,
name: Tom
},
{
iphone:iphone7,
name: Tom
},
{
iphone:iphone6,
name: Joe
},
{
iphone:iphoneX,
name: Joe
}
]
我想通过显示来分组:
[
{
_id:iphone6,
people:[Tom,Joe]
},
{
_id:iphone7,
people:[Tom]
},
{
_id:iphoneX,
people:[Joe]
}
]
我在使用 $group
时遇到问题。我该怎么做?
$group
:按iphone
和$push
name
到people
数组字段分组。$sort
(可选):按_id
升序排序。
db.collection.aggregate([
{
$group: {
_id: "$iphone",
people: {
$push: "$name"
}
}
},
{
$sort: {
_id: 1
}
}
])