Я новичок в Mongo Db и был бы признателен за помощь в этом вопросе. Последние пару дней я просеивал посты здесь, разрывая волосы, чтобы посмотреть, смогу ли я найти что-нибудь связанное с моим запросом, но безуспешно.
У меня есть коллекция с документами, похожими по структуре ниже:
_id: xyz
Movieid: 123
MovieName: Titanic
ReleaseDate: 2000-01-01
_id: uvw
Movieid: 456
MovieName: Titanic II
ReleaseDate: 2018-01-01
_id: pqr
Movieid: 789
MovieName: Titanic III
ReleaseDate:
Я хотел бы получить выходные данные в виде общего количества фильмов, фильмов с датой выпуска и фильмов без даты выпуска в 3 отдельных столбцах, как показано ниже:
Total | Released | UnReleased
3 | 2 | 1
Мне удалось написать отдельные запросы для выполнения подсчета, но я не могу успешно объединить все это в один запрос. Конечная цель состоит в том, чтобы создать одно представление, производящее эти значения в качестве выходных данных. Я пытался использовать операторы, такие как $ и, но не могу заставить запрос работать так, как хотелось бы ... это насколько я получил:
db.getCollection("Movies").aggregate(
$and: [
{
"$match" :
{"ReleaseDate":{$exists:true}}
}
,
{
$count:"Total"
},
{
"$match" :
{"ReleaseDate":{$exists:true,$nin:[""]}}
}
,
{
$count:"Released"
},
{
"$match" :
{"ReleaseDate":{$exists:true,$in:[""]}}
}
,
{
$count:"Unreleased"
}
]
);