【发布时间】:2019-09-01 21:16:59
【问题描述】:
如果我像这样创建一个集合:
db.People.insert({"Name": "John"})
并运行一个简单的 mongo 聚合,如下所示:
db.People.aggregate([{$match: {Name: "John"}}, {$group: {_id: "null", count: {$sum: 1}}}])
这会计算集合中的所有 Johns 并返回此
{ "_id" : "null", "count" : 1 }
这很好。但是如果我搜索根本不存在的名字“Clarice”,它会返回null。
我希望它返回
{ "_id" : "null", "count" : 0 }
我还没有找到实现这一目标的方法。我必须在$match- 和$group-stage 之间添加某种空值检查。
【问题讨论】:
-
检查结果是否为空数组,如
[]。这是唯一的方法。 -
@AshwanthMadhav:我该如何检查?在一个单独的阶段?或者我能不能把“IfNull”融入小组赛?
-
你在使用环回吗?我将使用 loopback 为节点提供 ma 代码
标签: mongodb mongodb-query