Mongo修改数据类型

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介: 本文主要讲解Mongodb的类型转换。包括:string转double, string转int, string转Date。

引言

本文主要讲解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/


作者:铭毅天下
转载请标明出处,原文地址:
http://blog.csdn.net/laoyang360/article/details/72594344

相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。 &nbsp; 相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
相关文章
|
7月前
|
存储 关系型数据库 MySQL
|
10月前
|
存储 关系型数据库 MySQL
如何修改MySQL列允许Null?
如何修改MySQL列允许Null?
246 1
如何修改MySQL列允许Null?
|
关系型数据库 MySQL
零基础带你学习MySQL—MySQL常用的数据类型(列类型)(五)
零基础带你学习MySQL—MySQL常用的数据类型(列类型)(五)
|
10月前
|
存储 关系型数据库 MySQL
为什么建议MySQL列属性尽量NOT NULL
为什么建议MySQL列属性尽量NOT NULL
392 0
|
存储 关系型数据库 MySQL
mysql中修改某个数据列的名字或数据类型
mysql中修改某个数据列的名字或数据类型
298 1
|
SQL 关系型数据库 MySQL
MySQL操作之数据类型
MySQL操作之数据类型
95 0
|
NoSQL MongoDB
一日一技:修改MongoDB集合中的字段名
一日一技:修改MongoDB集合中的字段名
276 0
|
JavaScript NoSQL 关系型数据库
mongo 详解修改操作
在mongo中的数组操作是不同的,会有专门的指令来进行修改.
mongo 详解修改操作
|
存储 关系型数据库 MySQL
MySQL字段的数据类型
《数据库基础》
171 0
|
存储 SQL 关系型数据库
MySQL 数据类型基础篇
MySQL 数据类型基础篇