我有这样的文件:
{
"_id" : ObjectId("557eaf444ba222d545c3dfcc"),
"guest_id" : ObjectId("5c2aad871dbbe3194ed45023"),
"parameter" : 354,
"created" : ISODate("2019-01-01 00:00:05.683Z"),
}
我需要通过“参数”和具有唯一的guest_id +创建的字段作为数组的数组来获得分组的项目。 我尝试这样做:
db.events.aggregate([
{
$group:
{
_id: "$parameter",
guestList: {$addToSet: {id: "$guest_id", created: "$created"} },
count: {$sum: 1}
}
}
]);
结果:guestList包含重复的来宾ID。如果从这样的请求中删除“创建的”:
guestList: {$addToSet: {id: "$guest_id"} },
它可以正常工作,但是我需要在guestList数组中创建值。
是否有人对如何执行此任务有任何想法?