MongoDB将限额设置为$inc

MongoDB将限额设置为$inc,mongodb,Mongodb,我有体育运动员的数据库,其中包含他们的“技能”。例如,数据库中的足球运动员有14项技能。每天我都模拟他们的训练,这样训练的技能每天都会增加一些。我的收藏有150多万条记录,所以我进行批量更新。问题是,使用$inc,它可以设置超过限制的值,在我的情况下,技能限制是100。 如何将限制设置为字段,以便在超出限制时不会更新更多 我也尝试过在更新后进行技能“修复”,我的意思是在训练模拟完成后,我运行脚本迭代所有玩家,如果它有一个超出值的字段,我会进行更新查询来修复它,但是对服务器进行150万次单独查询是

我有体育运动员的数据库,其中包含他们的“技能”。例如,数据库中的足球运动员有14项技能。每天我都模拟他们的训练,这样训练的技能每天都会增加一些。我的收藏有150多万条记录,所以我进行批量更新。问题是,使用$inc,它可以设置超过限制的值,在我的情况下,技能限制是100。 如何将限制设置为字段,以便在超出限制时不会更新更多

我也尝试过在更新后进行技能“修复”,我的意思是在训练模拟完成后,我运行脚本迭代所有玩家,如果它有一个超出值的字段,我会进行更新查询来修复它,但是对服务器进行150万次单独查询是致命的,那么还有其他方法吗

编辑:
增加值在计算中有一些随机值,所以对所有玩家来说都不一样。但该值可以从0到1,四舍五入到第二位,例如,它可以是0.1、0.2、0.3。。。。1.因此,我使用此值和训练技能对玩家进行分组,并使用运算符$in更新数据库,其中包含训练相同技能且训练值相同的玩家ID。您可以通过查询文档对其进行限制:


db.players.update({skills:{$lt:100},{$inc:{skills:1}}})

玩家之间的增长是否相同?不,每次都不同,计算中有一些随机值。每个玩家的增长是否不同?如何批量更新?