MongoDb 修改 文档字段数据类型
一、MongoDB数据类型总览----All
常用
Type Number | Type | Explanation |
1 | Double | 浮点型 |
2 | String | UTF-8字符串都可表示为字符串类型的数据 |
3 | Object | 对象,嵌套另外的文档 |
4 | Array | 值的集合或者列表可以表示成数组 |
5 | Binary data | 二进制 |
7 | Object id | 对象id是文档的12字节的唯一 ID 系统默认会自动生成 |
8 | Boolean | 布尔类型有两个值TRUE和FALSE |
9 | Date | 日期类型存储的是从标准纪元开始的毫秒数。不存储时区 |
10 | Null | 用于表示空值或者不存在的字段 |
其他类型
Type Number | Type | Explanation |
11 | Regular expression | 采用js 的正则表达式语法 |
13 | JavaScript code | 可以存放Javasript 代码 |
14 | Symbol | 符号 |
15 | JavaScript code with scope | |
16 | 32-bit integer | 32位整数类型 |
17 | Timestamp | 特殊语义的时间戳数据类型 |
18 | 64-bit integer | 64位整数类型 |
二、修改字段数据类型语法
db.文档.find({"列":{$type:Type Number}}).forEach(
function(x){
x.列=new NumberLong(x.列);
db.文档.save(x);
}
);
三、语法实例
db.membertest.find({"nameId":{$type:2}}).forEach(
function(x){
x.nameId = new NumberLong(x.nameId); //将nameId转为NumberLong 类型
db.membertest.save(x); //保存nameId类型
}
);
其中类型还包含:
NumberInt :Int类型
NumberLong :long类型
说明:将membertest 文档的 nameId 由原来的 String 转为 NumberLong 类型。