it营大地专栏

mongodb批量修改数据集合(表)数据类型

发布于 1 年前 作者 gougou168 1001 次浏览 最后一次编辑是 1 年前 来自 分享

1、比如把order表的price字符串类型转换成NumberIntl类型

db.plist.find({price:{$type:"string"}}).forEach( function (x) {

 x.price = NumberInt(x.price);

  db.plist.save(x);

});

2、批量更新state(double)的数据类型为Int32类型 type:1表示 double 类型 new NumberInt(x.state)表示修改state为int32位

db.jd.find({"state":{$type:1}}).forEach( 
    function(x){ 
        x.state=new NumberInt(x.state); 
        db.jd_goods_code.save(x); 
    } 
); 

具体类型参考下面:

Double 1 双精度浮点数 - 此类型用于存储浮点值 String 2 字符串 - 这是用于存储数据的最常用的数据类型。MongoDB中的字符串必须为UTF-8 Object 3 对象 - 此数据类型用于嵌入式文档 Array 4 数组 - 此类型用于将数组或列表或多个值存储到一个键中 Binary data 5 二进制数据 - 此数据类型用于存储二进制数据 Undefined 6 已废弃 Object id 7 对象ID - 此数据类型用于存储文档的ID Boolean 8 布尔类型 - 此类型用于存储布尔值(true / false)值 Date 9 日期 - 此数据类型用于以UNIX时间格式存储当前日期或时间。可以通过创建日期对象并将日,月,年的日期进行指定自己需要的日期时间 Null 10 Null - 此类型用于存储Null值 Regular 11 正则表达式 - 此数据类型用于存储正则表达式 JavaScript 13 代码 - 此数据类型用于将JavaScript代码存储到文档中 Symbol 14 符号 - 该数据类型与字符串相同;但是,通常保留用于使用特定符号类型的语言 JavaScript (with scope) 15 代码 - 此数据类型用于将带作用域的JavaScript代码存储到文档中 32-bit integer 16 32位整型 - 此类型用于存储数值 Timestamp 17 时间戳 - 当文档被修改或添加时,可以方便地进行录制 64-bit integer 18 64位整型 - 此类型用于存储数值 Min key 255 最小键 - 此类型用于将值与最小BSON元素进行比较
Max key 127 最大键 - 此类型用于将值与最大BSON元素进行比较

回到顶部