Mongo修改数据类型

简介: 引言本文主要讲解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);

});

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

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

1

2

3

4

5

6

7

8

9

10

11

12

13

3、执行成功标记

[root@Node-C6 mongo_process]# ./mongo_uopdate.sh

MongoDB shell version: 3.2.7

connecting to: data

bye

1

2

3

4

参考:

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


作者:铭毅天下

转载请标明出处,原文地址:

http://blog.csdn.net/laoyang360/article/details/72594344

如果感觉本文对您有帮助,请点击‘顶’支持一下,您的支持是我坚持写作最大的动力,谢谢!

相关文章
|
关系型数据库 MySQL
认识MySQL数据表的浮点数类型
认识MySQL数据表的浮点数类型。
123 0
|
2月前
|
NoSQL MongoDB 数据库
MongoDB 更新集合名
10月更文挑战第13天
38 5
|
4月前
|
存储 关系型数据库 MySQL
|
关系型数据库 MySQL
零基础带你学习MySQL—MySQL常用的数据类型(列类型)(五)
零基础带你学习MySQL—MySQL常用的数据类型(列类型)(五)
|
存储 关系型数据库 MySQL
mysql中修改某个数据列的名字或数据类型
mysql中修改某个数据列的名字或数据类型
263 1
|
存储 关系型数据库 MySQL
MySQL数据库类型--详解
MySQL数据库类型--详解
|
存储 关系型数据库 MySQL
Mysql的索引类型及其实现方式
Mysql的索引类型包括B-Tree索引和哈希索引,其中B-Tree索引是最常见的索引类型,而哈希索引则仅适用于某些特殊场景
|
NoSQL MongoDB
一日一技:修改MongoDB集合中的字段名
一日一技:修改MongoDB集合中的字段名
234 0
|
JavaScript NoSQL 关系型数据库
mongo 详解修改操作
在mongo中的数组操作是不同的,会有专门的指令来进行修改.
mongo 详解修改操作
|
存储 关系型数据库 MySQL
MySQL字段的数据类型
《数据库基础》
161 0