背景:开发过程中需要测试,然而测试数据库的数据不满足要求,只有很久前的数据,我想要将文档里面的【创建时间】这个字段,加上一定值,变成最近的数据
db.集合名.find({这里可以写你的筛选条件}).forEach(
function(item){
db.集合名.update(
{"_id":item._id},
{"$set":
{"CreatedTime":new Date(item.CreatedTime.getTime() + 1*60*60000)}})
})
大致思路
1、根据筛选条件,找到你要更新的数据
2、遍历前一步骤找到的数据,做更新(update 里面的 filter 不要省略)
解释:
1、为什么不直接用 update 去查询并更新,还要分成两个步骤写?
对于这些数据,我是要在原有数据的基础上做修改,也就是【个性化】修改,直接使用update 的话,更新的字段数据都是一样的值
2、1*60*60000,表示 1小时 * 60分钟 * 60秒 * 1000 毫秒
PS:实在想不出来起啥名好