db.getCollection('report').find({sex:{$exists:false}}).forEach(
function(item){
if(item.idcard){
var idcard = item.idcard;
var year = parseInt(idcard.substr(6, 4));
var age = new Date().getFullYear() - year;
// 计算性别
var sex = parseInt(idcard.substr(16, 1));
// 第17位数字表示性别:奇数表示男性,偶数表示女性
if (sex % 2 == 0) {
// 女
sex = 2;
} else {
// 男
sex = 1;
}
//NumberInt 为强制转换为整型,避免mongo自动转成duoble类型
db.getCollection('report').update({"_id":item._id},{"$set":{"age":NumberInt(age),"sex":NumberInt(sex)}},false,true)
}
}
)
mongodb,批量更新 直接根据身份证号设置性别和年龄
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 1、PHP根据身份证号码,获取性别。 2、PHP根据身份证号码,获取生日。 3、PHP根据身份证号码,计算年龄。 ...
- 该系列我只写我的理解,非官方解释,如不够专业请见谅 PHP是单继承的语言,在PHP 5.4 Traits出现之前,...
- 晓莉老师: 谢谢您发给我的每一篇反思、随笔。当我打开你发来的压缩包,首先一惊,数量之多,似乎是一学期的所有教育随笔...