• 在MongoDB中修改数据类型


    引言

    本文主要讲解Mongodb的类型转换。包括:string转double, string转int, string转Date。

    0. 出现类型不一致的原因

    ES导入数据到Mongo后,会出现类型统一改为String的问题。 
    传统关系型数据库,在设计表处,右键就可以完成修改表类型。 
    但是非关系型数据库,没有这种实现。只有通过命令行操作实现。 
    验证表明,可以通过如下的接口进行修改。

    1、Mongodb类型转换接口

    复制代码
    //string转为double类型
    db.law.find().forEach( function (x) {
      x.state = parseInt(x.state);
      db.law.save(x);
    });
    
    //string转为int类型
    db.law.find().forEach( function (x) {
      x.ise= NumberInt (x.ise);
      db.law.save(x);
    });
    
    //string转化为date类型
    db.law.find().forEach( function (x) {
     x.eift = new ISODate(x.eift);
      db.law.save(x);
    });
    复制代码

    2、类型转换一键脚本实现

    复制代码
    [root@Node-C6 mongo_process]# cat ./mongo_uopdate.sh
    
    #!/bin/sh
    mongo data <<EOF
    db.law.find().forEach( function (x) {
      x.state = parseInt(x.state);
      x.id= NumberInt(x.id);
     x.eift = new ISODate(x.eift);
     x.ctime = new ISODate(x.ctime );
     x.pt= new ISODate(x.pt);
      db.law.save(x);
    });
    EOF
    复制代码

    3、执行成功标记

    [root@Node-C6 mongo_process]# ./mongo_uopdate.sh
    MongoDB shell version: 3.2.7
    connecting to: data
    bye

    参考: 
    https://glassonionblog.wordpress.com/2014/05/15/mongodb-changing-column-names-and-column-types/

  • 相关阅读:
    第二章 课后习题 6
    第二章 课后习题 5
    第一章 课后习题 10
    第一章 课后习题 7
    JAVA练习1
    作业2
    作业
    c++作业10月13日作业
    c++作业50页例题3.1
    for循环作业4和5
  • 原文地址:https://www.cnblogs.com/deepalley/p/10749845.html
Copyright © 2020-2023  润新知