一
//mongo不同类型对应有个数值,string对应为type:2 (详情见文末)
db.sysUser.find({"age": {$type:2}}).forEach(
function(x) {
if(x.sc) {
db.sysUser.updateOne({"_id": x._id}, {$set:{"age": parseFloat(x.age)}})
}
}
)
二
db.sysUser.find({"age": {$type:2}}).forEach(
function(x) {
if(x.age) {
x.age= parseFloat(x.age);
db.sysUser.save(x);
}
}
)
// string转为double类型
x.age = parseFloat(x.age);
// string转为int类型
x.age = NumberInt(x.age);
// string转化为date类型
x.age = new ISODate(x.age);
| 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" | Deprecated. |
| JavaScript | 13 | "javascript" | |
| Symbol | 14 | "symbol" | Deprecated. |
| JavaScript code with scope | 15 | "javascriptWithScope" | Deprecated in MongoDB 4.4. |
| 32-bit integer | 16 | "int" | |
| Timestamp | 17 | "timestamp" | |
| 64-bit integer | 18 | "long" | |
| Decimal128 | 19 | "decimal" | New in version 3.4. |
| Min key | -1 | "minKey" | |
| Max key | 127 | "maxKey" |
这篇博客介绍了如何在MongoDB中将字符串类型的`age`字段转换为不同数据类型,如Double、Integer和Date。提供了示例脚本来遍历集合,检查并更新字段类型,确保数据一致性。同时,列举了MongoDB所有数据类型的编号和别名。
1192

被折叠的 条评论
为什么被折叠?



