mongo 从现在字段的值 复制给新的字段

2018-12-21  本文已影响0人  邪恶的奥伯伦

有的时候会需要创新新的字段, 数据需要从现在的值拷贝过来

我使用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) 
    }
)
上一篇下一篇

猜你喜欢

热点阅读