MongoDB相关操作

1. 连接数据库

    ./mongo 127.0.0.1:27017/yuanbao -uyuanbao -psdlkfdls76KJSD

2. 数据导入导出

    ./mongoexport -d yuanbao -uyuanbao -psdlkfdls76KJSD -c User -o user.dat

    ./mongoimport -d yuanbao -uyuanbao -psdlkfdls76KJSD -c User user.dat

3. 数据备份恢复

    ./mongodump -d yuanbao -uyuanbao -psdlkfdls76KJSD -o yuanbao_dump

    ./mongorestore -d yuanbao -uyuanbao -psdlkfdls76KJSD yuanbao_dump

说明:-d后接数据库名,-u是用户名,-p密码,-c集合名,-o导出的文件名

4. $type值参考

https://docs.mongodb.org/manual/reference/operator/query/type/#_S_type

5. 修改字段数据类型语法

db.Collection.find({"field" : {$type : Type Number}}).forEach(function(x){
    x.field = new NumberLong(x.field);
    db.Collection.save(x);
}); 

说明:Collection为具体修改的集合名,field为要修改的字段,Type Number为目前field字段的$type值

6. 具体实例

示例1:
db.Checkup.find({"teeth":{"$type":1}}).forEach(function(x){
    x.teeth = new NumberInt(x.teeth);
    db.Checkup.save(x);
})

示例2:
db.Checkup.find({"teeth":{"$type":16}}).forEach(function(x){
    x.teeth = String(x.teeth);
    db.Checkup.save(x);
})

说明:示例1中表示teeth字段由原来的Double类型改为Int32类型
     示例2中表示teeth字段由Int32类型改为String类型


你可能感兴趣的:(MongoDB字段数据类型修改)