我是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:
Run Code Online (Sandbox Code Playgroud)
我希望在3个单独的列中实现输出作为总电影,具有发布日期的电影和没有发布日期的电影的计数,如下所示:
Total | Released | UnReleased
3 | 2 | 1
Run Code Online (Sandbox Code Playgroud)
我能够编写单独的查询来执行计数,但我无法将所有这些成功整合到单个查询中.最终目标是创建一个视图,将这些计数作为输出.我已经尝试使用$和等运算符,但似乎无法使查询按预期工作....这是我得到的:
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"
}
]
);
Run Code Online (Sandbox Code Playgroud)