有的时候会需要创新新的字段, 数据需要从现在的值拷贝过来
我使用mongo版本有点低, 在赋值的时候, 本来源跟目标字段都是整型, 执行之后新字段却一直是浮点数, 所以先用parint从字符串转成整数(浮点数) 然后再用NuberInt转成整数, mongo新版本应该有新的转换函数
db.game.find().forEach(
function(item){
db.game.update({"_id":item._id},{"$set": {"new_key":NumberInt(parseInt(item.current_key))}},false,true)
}
)
有的数据 current_key不存在,
结果new_key 被赋值成了 -2147483648
所以我只能再操作一次.. 把负数的清0
db.game.find({'new_key': {"$lt":0}}).forEach(
function(item){
db.game.update({"_id":item._id},{"$set": {"new_key":NumberInt(0)}},false,true)
}
)
网友评论