MongoDB:具有where条件的多重更新

时间:2013-10-09 11:39:50

标签: mongodb

要求:获取所有文件的位置< 90并将'点'增加+20 数据:

 { "_id" : 1, "student" : 1, "type" : "exam", "point" : 115 }
    { "_id" : 2, "student" : 2, "type" : "exam", "point" : 85 }
    { "_id" : 3, "student" : 3, "type" : "exam", "point" : 115 }

Query tried : 
// query below 

db.points.update({},{$ INC:{点:20},点:{LT:110}},{多:真})

On executing : fn[0] == '$'is seen and query has not affected any changes.

2 个答案:

答案 0 :(得分:1)

您可以按如下方式编写查询:

db.points.update({point:{$lt:110}},{$inc:{point:20}},false,true)

答案 1 :(得分:0)

您的更新中没有任何条件

db.points.update({point:{$ lt:90}},{$ inc:{point:20}},{multi:true})

点:{$ lt:90}仅选择点数低于90且增加20的文档