$ add操作返回null值

时间:2015-05-25 17:57:27

标签: mongodb

我有文档结构的集合:

 {
  'year' : 2014,
  'month' : 1
 }

我正在执行以下操作:

db.collname.aggregate(
                        [
                           {
                             $project : {
                                    'year100' : {$multiply : ["$year" , 100]},
                                    'result' : { '$add' : ['$year100', '$month'] }       
                                        }
                           }
                        ]
                      );

我得到以下结果:

 {
"result" : [ 
    {
        "_id" : ObjectId("5563596c515a88832210f0e4"),
        "year100" : 201400.0000000000000000,
        "result" : null
    },
}

为什么添加操作将空值返回到实际值?请帮忙。

1 个答案:

答案 0 :(得分:2)

MongoDb不允许在项目中使用相同的字段进行算术运算,而不是一个$project使用两个不同的projects,如下所示:

db.collname.aggregate({ $project : { 'year100' : {$multiply : ["$year" , 100]} ,"month":"$month"} },{"$project":{"year100":1,"result":{"$add":["$year100","$month"]}}})
相关问题