在MongoDB中修改数据类型

摘要:
1.Mongodb类型转换接口//字符串转换为double类型db。法律find()。forEach(函数(x){x.state=parseInt(x.state);//字符串转换为int类型db.low.find().forEach(功能(x){x.ise=NumberInt(x.ise);
引言

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

免责声明:文章转载自《在MongoDB中修改数据类型》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇airtest之脚本批量运行npm run serve报错提示js堆内存不足下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

C++指针类型间强制转换

深入理解指针类型间的转换 C++中指针的强制转换 强制类型转换(int)、(int&)和(int*)的区别 内存中的地址   地址的本质就是一串0和1的机器代码,内存中的地址没有明确数据类型,但地址值有类型,以32位编译器为例,内存中的地址是一个32位的整数。无论什么类型的指针变量,在内存中本质上都是一样的,都是一个整数值的地址值,该地址值可以...

powershell初探(三)

  这篇将真正开始ps之旅,第一个要介绍的就是$(dolar),$是一个神奇的符号(不是因为他可以一折吃喝玩乐)   ps里当你需要一个临时的变量去存储结果(表达式的输出或者函数的返回值),那么就可以用"$"+变量名的形式去定义一个临时的容器。就像一个临时工一样,而临时工是无所不能的,可以在任何需要他们背黑锅的地方出现。临时变量也是一样,他可以接受任何类型...

Python 字符串前面加u,r,b,f的含义

字符串前加u 后面字符串以 Unicode格式进行编码,一般用在中文字符串前面,防止因为源码储存格式问题,导致再次使用时出现乱码。 exp = u"我是含有中文字符组成的字符串。" 字符串前加r 去掉反斜杠的转移机制。(特殊字符:即那些,反斜杠加上对应字母,表示对应的特殊含义的,比如最常见的” ”表示换行,” ”表示Tab等。 ) 应用: 常用于正则表达...

Boost库简介

Boost库由C++标准委员会库工作组成员发起,其中有些内容有望成为下一代C++标准库内容。在C++社区中影响甚大,是不折不扣的“准”标准库。 字符串和文本处理库 Conversion库:对C++类型转换的增强,提供更强的类型安全转换、更高效的类型安全保护、进行范围检查的数值转换和词法转换。 Format库:实现类似printf的格式化对象,可以把参数格式化...

mysql索引类型 normal, unique, full text

问题1:mysql索引类型normal,unique,full text的区别是什么? normal:表示普通索引 unique:表示唯一的,不允许重复的索引,如果该字段信息保证不会重复例如身份证号用作索引时,可设置为unique full textl: 表示 全文搜索的索引。 FULLTEXT 用于搜索很长一篇文章的时候,效果最好。用在比较短的文本,如果...

第二章redis数据类型的使用和介绍

redis数据类型的使用 list  列表 最多可以存2的32次方减1 个 元素组成列表   用来存储多个有序的字符串。 在redis中,可以对列表俩端插入(push)和(pop)弹出,还可以获得制定范围的元素列表,获取指定索引下表的元素等 元素可以重复 命令操作 操作类型 操作 添加: rpush    lpush   linsert 查: lrange...