注:没有特别说明的,以下都是基于mongodb 3.2版本
可用数据类型
Type | Number | Alias | Notes |
---|---|---|---|
Double | 1 | “double” | |
String | 2 | “string” | |
Object | 3 | “object” | |
Array | 4 | “array” | |
Binary data | 5 | “binData” | |
Undefined | 6 | “undefined” | Deprecated. |
ObjectId | 7 | “objectId” | |
Boolean | 8 | “bool” | |
Date | 9 | “date” | |
Null | 10 | “null” | |
Regular Expression | 11 | “regex” | |
DBPointer | 12 | “dbPointer” | |
JavaScript | 13 | “javascript” | |
Symbol | 14 | “symbol” | |
JavaScript (with scope) | 15 | “javascriptWithScope” | |
32-bit integer | 16 | “int” | |
Timestamp | 17 | “timestamp” | |
64-bit integer | 18 | “long” | |
Min key | -1 | “minKey” | |
Max key | 127 | “maxKey” |
假设: cellection为 test 里面有字段 name
db.test.find({name:{$type:1}}); // 表示查询name字段数据类型为Double的数据。
在脚本环境下,新增、修改数字类型的数据时应该指明明确的数据类型,否则会默认写入Double类型。
按如下方式明确指定数据类型
db.test.update({name:"a"},{$set:{value:NumberInt(2)}});
可用的有 NumberInt() NumberLong()