我有我的 mongoDB 集合的下一个结构:
{
"_id": "1",
"sessions": [
{
"type": "default",
"pageViews": [
{
"path": "/",
"host": "example.com",
"events": [
{
"name": "event1"
},
{
"name": "event1"
}
]
}
]
},
{
"type": "default",
"pageViews": [
{
"path": "/",
"host": "example.com",
"events": [
{
"name": "event1"
},
{
"name": "event1"
}
]
}
]
}
]
}
我需要在一个按_id
字段分组的查询中获取会话、pageViews 和事件的计数。
我愿意:
db.collection.aggregate([
{
$unwind: "$sessions"
},
{
$unwind: "$sessions.pageViews"
},
{
$group: {
_id : "$_id",
totalEvents: {
$sum: {
$size: "$sessions.pageViews.events"
},
},
totalPageViews: {
$sum: 1
}
}
}
])
但我不明白如何计算会话数。
如何获取此查询中的会话数?
谢谢 !