mongodb还原数据库及常用方法

还原数据库

整库还原,会覆盖原数据:
# mongorestore -u 有root权限的用户名 -p 用户密码 --dir /数据库备份目录 --drop
--drop 还原前先清除原数

如果备份是通过 --archive 选项创建的,那么你应该使用 mongorestore 的 --archive 和 --gzip 选项来恢复数据
# mongorestore --archive=/path/to/your/backup.gz --gzip

单库还原
# mongorestore --db 数据库名称 -u 有此库权限的用户名 -p 用户密码 --dir /数据库备份目录.../数据库名称 --drop

单表还原
# mongorestore --db 数据库名称 -u 有此库权限的用户名 -p 用户密码 --collection 表名 BSON文件路径
还原表需将原先表内数据全部清空

 

批量更新

...update({}, {$set: {...}}, {multi: true})

 

删除字段

...update({}, {$unset:{"要删除的字段名":""}}, {multi: true})

...update({"字段名":{"$exists":true}}, {"$unset":{"字段名":""}}, {multi:true})

 

更名字段

...update({}, {$rename:{"要更名的字段名":"更名后的字段名"}}, {multi: true})

 

更新整数

db.getCollection('表名').update({'name': 'zero'}, {'$set': {'value': NumberInt(0)}})

或NumberLong

 

从csv导入数据

mongoimport -u 数据库用户名 -p 数据库密码 --db 数据库名称 --collection 表名 --type csv --headerline --ignoreBlanks --file CSV文件名

 

创建多字段组合索引

db.getCollection('表名').createIndex({字段1: 1, 字段2: 1}, {unique: true})

 

posted @ 2018-01-16 15:48  刘镇维  阅读(260)  评论(0)    收藏  举报