1、批量改变某字段的数据类型
db.deliverEquipment
.find({weight: {$type:2}})//type:2 表示String类型,其他类型见下表
.forEach(
function(x) {
x.weight=NumberInt(x.weight);
db.deliverEquipment.save(x)
}
)
2、利用正则进行查询
db.getCollection('deliver').find({'deliverDate':{$regex:'.*-.*'}})
3、查询不存在某字段的文档
db.getCollection("deliver").find({"deliverDate" : { $exists : false }})
3、批量替换某字段的某字符
db.getCollection('deliver').find({'deliverDate':{$regex:'.*-.*'}})
.forEach(
function(item) {
item.deliverDate = item.deliverDate.replace("-","/");
db.getCollection('deliver').save(item);
}
);
4、批量将十进制数字符串数组转换成ASCII字符串
db.getCollection('5555').find()
.forEach(
function(item) {
var imeiArr = item.imei;
var imeiStr ="";
for(var i=0;i<15;i++){
var s = String.fromCharCode(parseInt(imeiArr[i]));
imeiStr = imeiStr + s;
}
item.imeiStr = imeiStr;
db.getCollection('5555').save(item);
}
);