Я новичок в MongoDB и занимаюсь разработкой программного обеспечения на C # и MongoDB.Моя структура данных выглядит так:
{
"Id": 1,
"Title": "myTitle",
"Geners": [ "Drama", "Action" ],
"Category": 1,
"Casts": [
{
"Id": 1,
"Name": "myName",
"Gender": "Male",
"Age": 35
},
{
"Id": 2,
"Name": "herName",
"Gender": "Female",
"Age": 30
},
{
"Id": 3,
"Name": "hisName",
"Gender": "Male",
"Age": 45
}
]
}
Это всего лишь один документ, и у меня около 5 миллионов документов.Я хочу выполнить запрос, подобный приведенному ниже, чтобы посчитать записи, основанные на Category
, и показать, сколько фильмов у меня есть в каждой категории, и я хочу добавить в поле значение «Кастинги».
db.getCollection('myCollection').aggregate([
{
$group:{"_id":"$Category", "count": {$sum:1},
"Casts":{$push:"$Casts"}}
}
])
этоблизко к чему-то, что я хочу, но проблема в том, что Casts
данные помещаются во второй уровень массива, например {"Id":1, ... , "Casts":[[{},{},...]]}
, но мне нужно вот так {"Id":1, ... , "Casts":[{},{},...]}
Как я могу показать такие данные?