以下代码都是cmd命令

1 批量插入字段

向Adidas表插入35个包涵sold的字段

  1. for(var i=0;i<35;i++)db.Adidas.insert({"sold":Math.round(Math.random()*100000)})

2 批量往已经有的数据里添加字段,并赋值

如下:要添加字段sold,并且赋值

3 循环批量修改 - 图1

  1. db.Adidas.updateMany({},{$push:{"sold":Math.round(Math.random()*100000)}})

如果是修改就将push改成set,就会将sold字段全部改掉。

若是重复添加,加上for循环,结果就是向sold里添加两次数据,使得sold成为一个数组。

  1. for(var i=0;i<2;i++)db.Adidas.updateMany({},{$push:{"sold":Math.round(Math.random()*100000)}})

但是!!发现上面的方式是随机一个数,一次性添加到所有的数据中心,所以所有的sold都是一个值。

解决办法:

  1. db.Adidas.find().forEach(res=>{res.sold=Math.round(Math.random()*10000);db.Adidas.save(res)})