У меня есть следующая структура моей коллекции MongoDB:агрегация 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
поле.
я:
db.collection.aggregate([
{
$unwind: "$sessions"
},
{
$unwind: "$sessions.pageViews"
},
{
$group: {
_id : "$_id",
totalEvents: {
$sum: {
$size: "$sessions.pageViews.events"
},
},
totalPageViews: {
$sum: 1
}
}
}
])
Но я не могу понять, как получить количество сеансов.
Как я могу получить количество сеансов в этом запросе?
Спасибо!
спасибо! Это верно. – LastRide
Помогите мне по http://stackoverflow.com/q/42212397/5230740. –