2013-01-21 51 views
3

我有一些文件:如何更新Mongo中的字段值以等于同一文档中的另一个字段的值?

{"required" : 100, "total" : 30} 

,我想这样的更新的文件所需=总(无论总的价值)。我曾尝试:

db.collection.update({}, {"$set" : {"required" : "total"}})

但这将它设置为字符串“总”,我该如何访问字段的值,在这种情况下30

+0

如果能够在查询的匹配部分也能够使用它,并且只查找总数<需要的文档(如果可能的话)。 – nickponline

+0

ha是啊,在查询文档反射尚未提供,聚合框架之外,不能用于更新而不使用它作为结果集更新客户端从 – Sammaye

+0

[pymongo:使用另一个字段更新字段] (http://stackoverflow.com/questions/10205060/pymongo-updating-a-field-using-another-field) – JohnnyHK

回答

1

你不能那样做。试试这个:

db.collection.find().forEach(function(d) { 
    d.required = d.total; 
    db.collection.save(d); 
}); 
相关问题