1.修改列类型,并且值进行转换
db.eqCoord.find({}).forEach( function(data){ data.lng=parseFloat(data.lng); data.lat=parseFloat(data.lat); db.eqCoord.save(data); } )
2.修改并新增列,转换其他列的值到新增列里:
var datas = db.getCollection('eqCoord').find({"eqCoordUuid" : "d6afeb1bca3f4d01a2c47a0329de7100"}) while(datas.hasNext()){ var doc = datas.next(); db.eqCoord.update({"eqCoordUuid":doc.eqCoordUuid},{$set:{"point":[doc.lng,doc.lat]}}) }
3.移除所有数据的lng和lat列
db.eqCoord.update({},{$unset:{"lng":{$gte:0},"lat":{$gte:0}}},false,true) db.getCollection('eqCoord').find({})