为了账号安全,请及时绑定邮箱和手机立即绑定

mongo变更数据类型

标签:
MongoDB

mongo写入加了引号,导致一些数值字段都是string类型,修改字段类型为数值型。

db.Report99.find().forEach(
    function(doc){
        db.Report99.update({'_id': doc._id},{$set:{"begin-quantity": parseFloat(doc["begin-quantity"])}}); //改为浮点数
        db.Report99.update({'_id': doc._id},{$set:{"end-quantity": NumberInt(doc["end-quantity"])}}); // 改为整型
    }
);

mongo4.2+版本,可参数如下方式:

db.getCollection("my-report").update(
    {
        "begin-quantity": { $type: "string" }
    },
    [{ $set: { "begin-quantity": { $convert: { input: "$average-quantity", to: "double" } } } }],  //有效类型: string|bool|int|long|double|decimal|date|timestamp|objectId ...
    { multi: true }
)

说明:
1、如果集合名包含特殊字符,使用db.getCollection(‘my-report’)
2、forEach中doc取某个字段值可直接doc.key,如果key中包含特殊字符,使用doc[’’]

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消