【发布时间】:2016-02-07 15:20:04
【问题描述】:
这些是我收藏的文档
{ "_id" : 1, "quizzes" : [ 10, 6, 7 ], "labs" : [ 5, 8 ], "final" : 80, "midterm" : 75 ,"extraMarks":10}
{ "_id" : 2, "quizzes" : [ 9, 10 ], "labs" : [ 8, 8 ], "final" : 95, "midterm" : 80 }
{ "_id" : 3, "quizzes" : [ 4, 5, 5 ], "labs" : [ 6, 5 ], "final" : 78, "midterm" : 70 }
只有文档 1 有一个字段额外标记:
现在我必须将投影作为“final”+“midterm”+“extraMarks”的总和
我写了一个投影查询如下:
db.students.aggregate([ { $project: { examTotal: { $add: [ "$final", "$midterm","$extraMarks" ] } } } ])
此查询为 Document1 以及 Doc2 和 Doc3 提供了正确的结果,因为该字段不存在,其给出的总和为 null。
是否可以检查该字段是否不为空并添加查询本身..对此有什么建议吗?
Mongo DB 查询中是否有类似于 nvl(在 SQL 中)的功能?
【问题讨论】:
标签: mongodb mongodb-query aggregation-framework