1

我是 MongoDb 的新手,并试图在其中实现一些基本计算。我有收集,计算,如下

{ "_id" : 1, "value" : 10}
{ "_id" : 2, "value" : 20}
{ "_id" : 3, "value" : 20}
{ "_id" : 4, "value" : 30}
{ "_id" : 5, "value" : 30}
{ "_id" : 6, "value" : 30}

我想将 "_id":1 的值添加到该集合中文档的所有值字段,并使用计算结果创建一个新字段。所以我正在寻找的最终结果如下。

{ "_id" : 1, "value" : 10, "sumup":20 }
{ "_id" : 2, "value" : 20, "sumup":30 }
{ "_id" : 3, "value" : 20, "sumup":30 }
{ "_id" : 4, "value" : 30, "sumup":40 }
{ "_id" : 5, "value" : 30, "sumup":40 }
{ "_id" : 6, "value" : 30, "sumup":40 }
4

1 回答 1

0

你可以在 mongo shell 中试试这个:

db.collection.aggregate([
    { 
        "$project": { 
            "value": 1, 
            "sumup": { 
                "$add": [ "$value", (db.collection.findOne({"_id": 1})).value ] 
            } 
        } 
    }
])
于 2016-08-22T12:26:23.300 回答