我有一个包含7
主题的集合。
6
信用价值为3
的科目
1
信用值为6
的主体。
我必须找到信用值超过 6
的科目总数。
如何让它打印0
?
db.Subject.aggregate([{$match:{"subject.prerequisite":{$gt:6}}},
{$count:"Total"}])
预期:Total : 0
实际:Nothing
由于您的$match
不返回任何文档,因此MongoDB只是停止处理进一步的管道阶段,这在这种情况下有点违反直觉,因为您希望$count
始终返回文档数量,即使它是0
。
如果你想获得total
值,你可以利用$facet运算符,试试:
db.Subject.aggregate([
{
$facet: {
matched: [ {$match:{"subject.prerequisite":{$gt:6}}} ]
}
},
{
$project: {
Total: { $size: "$matched" }
}
}
])