修改MongDB的数据类型
语法:
db.集合.find({"列":{$type:2}}).forEach(function(x){ x.列=parseFloat(x.列);db.order.save(x) })
db.order.find({"saleprice":{$type:2}}).forEach(function(x){x.saleprice=parseFloat(x.saleprice);db.order.save(x)})
( find().里为数据对应的类型,2表示str。也可以不写 )
mongoDB的数据类型
Object ID :文档的id
String: 字符串,最常用,必须是utf-8
Boolean:布尔值,true 或者false
Integer:整数
Double:浮点数
Arrays:数组或者列表,多个值存储到一个键
Object:用于嵌入文档,即一个值为一个文档
Null:存储null值
Timestamp:时间戳
Date:存储当前日期或时间unix时间格式
Object ID:
每个文档都有一个属性,为_id保证文档的唯一性;
可以自己去设置_id插入文档
如果自己没设置,mongoDB为每个文档提供一个独特的_id ,是一个12字节十六进制数
前4个字节为当前时间戳
接下来的3个字节为机器ID
接下来2个字节为mongo的服务进程ID
最后3个是简单的增量值
常见的转化
db.getCollection('bond_sentiment_bulletin').find({'pubDate': {$type:2}}).forEach(
function(doc){
db.getCollection('bond_sentiment_bulletin').update({'_id': doc._id},{$set:{'pubDate': new ISODate(doc.pubDate)}})
}
)
or
db.getCollection('bond_sentiment_bulletin').find({'pubDate': {$type:2}}).forEach(
function(doc){
doc.pubDate = new ISODate(doc.pubDate);
db.getCollection('bond_sentiment_bulletin').save(doc);
}
)
更改String类型为Date类型
db.getCollection('bond_sentiment_bulletin').find({"_id" : 416,'pubDate':{$type:9}}).forEach(
function(x){
x.pubDate = x.pubDate.toISOString();
db.getCollection('bond_sentiment_bulletin').save(x);
}
)
更改Date类型为String类型
db.getCollection('bond_sentiment_bulletin').find({"_id" : 419}).forEach(
function(x){
x.status = String(x.status);
db.getCollection('bond_sentiment_bulletin').save(x);
}
)
将类型转为str
db.getCollection('bond_sentiment_bulletin').find({"_id" : 419,'pubDate':{$type:9}}).forEach(
function(x){
x.pubDate = NumberLong(x.pubDate.getTime()/1000);
db.getCollection('bond_sentiment_bulletin').save(x);
}
)
把时间类型转为NumberLong的时间戳类型
db.getCollection('bond_sentiment_bulletin').find({'sentiment' : { $type : 1 }}).forEach(
function(x) {
x.sentiment = NumberInt(x.sentiment);
db.getCollection('bond_sentiment_bulletin').save(x);
}
)
修改double类型为int类型
db.getCollection('bond_sentiment_bulletin').find({'editTime': {$type:2}}).forEach(
function(doc){
db.getCollection('bond_sentiment_bulletin').update({'_id': doc._id},{$set:{'editTime': parseFloat(doc.editTime)}})
}
)
字符串转为浮点数
db.getCollection('bond_sentiment_bulletin').find({'editTime': {$type:2}}).forEach(
function(doc){
db.getCollection('bond_sentiment_bulletin').update({'_id': doc._id},{$set:{'editTime': parseInt(doc.editTime)}})
}
)
字符串转为double
参考:
https://blog.csdn.net/xc_zhou/article/details/86644144
修改MongDB的数据类型的更多相关文章
- Oracle增加一列、修改一列数据类型
Oracle增加一列.修改一列数据类型: 添加一列: alter table A add( CFYJSNR varchar2(20)); 修改列: alter table A ren ...
- change可以重命名列名,也可能修改列的类型和约束,而modify只能修改列的数据类型。
change 可以重命名列名,也可能修改列的数据类型,而modify只能修改列的数据类型. change 比modify功能多,如果要用change修改字段类型和约束,要加上新字段名,新字段名可以和原 ...
- SQL存储过程-新增和修改,参数Xml数据类型
输入参数:xml数据类型 功能:新增和修改 --value() 方法从 XML 中检索 rogue 属性值.然后将该值分配给 int 变量. --将 Member 节点拆分成多行 SELECT T ...
- Oracle 如何修改列的数据类型
链接:http://www.cnblogs.com/david-zhang-index/archive/2012/04/10/2441015.html 对字段操作 操作方法 更新字段名 alter t ...
- JavaScript初步学习----基本使用,简单事件,修改样式,数据类型
JavaScript基本使用 JavaScript原名叫livescript,是一门动态类型,弱类型基于原型的脚本语言 用于页面特效,前后交替,后台开发(node) JavaScript写在s ...
- SQL SERVER数据库的表中修改字段的数据类型后,不能保存
在数据库里面建了一个表,可是由于对SQL SERVER的建表功能不熟悉,不知道把主键设成什么是好,就先设置了个TEXT类型,可是后来朋友们告诉我说,TEXT类型容易让数据文件变得很大,还 是改成一 ...
- java之不修改变量的数据类型的处理方式
- ORA-01439: 要更改数据类型, 则要修改的列必须为空
此方法有3处update操作,建议根据实际情况的数据量测试评估效率后选用. 思路:定义要更新数据类型的列为[col_old],数据类型为[datatype_old],临时列为[col_temp],数据 ...
- mysql 修改数据类型
只修改列的数据类型的方法: 通常可以写成 alter table 表名 modify column 列名 新的列的类型 例如:student表中列sname的类型是char(20),现在要修改为var ...
随机推荐
- 【填坑往事】Android手机锁屏人脸解锁优化过程实录
背景 写这篇文章,主要是为了以后面试方便.因为我简历上写了,上一份工作的最大亮点是将人脸解锁的速度由1200ms优化到了600ms,所以这些内容已经回答无数遍了.但每次总觉得回答的不完整,或者说总感觉 ...
- 转载:java web 项目中如何设置项目打开的默认页面
通过博客学到的两种方法总结: 一.在web.xml文件中加入: 此时项目打开的默认页面就是loginS.html 二.在WebContent文件夹下添加index.jsp文件,此时这个index.js ...
- MSSQL 高并发下生成连续不重复的订单号
参考: https://www.cnblogs.com/h-change/p/6699683.html 这里在数据库层面生成的,经测试确实不会重复. 附上自己修改后的版本,这里也可以预先生成一年的记录 ...
- Vue3教程:用 Vue3 开发小程序,这里有一份实际的代码案例!
前言 寻寻觅觅冷冷清清,凄凄惨惨戚戚. Vue 3 发布以后,最近也在学习和写一些 Vue3 的 demo 和项目,我也一直想着什么时候能在小程序里使用新特性? 于是我翻遍了市面上的小程序框架,如 u ...
- 异常记录-Dialog样式踩坑
好久没记录文档了,拖了老半个月,终于空下来时间,为了避免以后踩坑,必须记录记录. 背景: 为activity设置样式为弹窗activity 异常一: activity设置style后,布局不能够正常显 ...
- Ceph OSD服务失效自动启动控制
前言 服务器上面的服务会因为各种各样的原因失败,磁盘故障,权限问题,或者是服务过载引起超时,这些都可能引起 这个在ceph里面systemctl unit 默认有个on-fail restart,默认 ...
- Javaweb项目页面实时显示后台处理结果
http://www.cnblogs.com/dong-xu/p/6701271.html 此博文甚好,项目参照博主代码可实现. 前端页面: <%@ page language="ja ...
- 【网鼎杯2020朱雀组】Web WriteUp
nmap nmap语法,很简单. 127.0.0.1' -iL /flag -oN vege.txt ' phpweb 打开,抓包,发现可以传递函数和其参数 试了一下很多函数都被过滤了,不能执行系统命 ...
- 批量反编译.class
使用dj java Decompiler软件,安装后,安装目录会有个jad.exe程序 控制台执行: jad -o -r -dF:\output_dir -sjava F:\class_root_di ...
- 博客新域名www.tecchen.tech
新年祝福 祝新的一年,大朋友实现所有梦想,小朋友健康成长- 新域名 https://www.tecchen.tech 有效期:10年 旧链接 之前的链接请自行替换为新链接地址,包括但不限于以下二级域名 ...