查询语句
show dbs
use leshusanguo
show tables
db.user.find()
db.user.find({},{'uid':1,'nickname':1,'max_level':1})
db.user.find({'max_level':1},{'uid':1,'nickname':1,'max_level':1})
db.user.count()
db.user.find({'max_level':1,'uid':672064,},{'uid':1,'nickname':1,'max_level':1})
db.user.remove({'max_level':1,'uid':672064})
db.user.remove({'max_level':1})
一、备份数据库
全库备份
mkdir /root/backup/
mongodump --port 27017 -o /root/backup/
只备份某些库(推荐)
mkdir /root/backup0309/
mongodump --port 27017 -d leshusanguo -o /root/backup0309/
压缩备份(文件夹中会生成.gz结尾的压缩包文件)
mongodump --port 27017 -o /root/backup/ --gzip
mongodump --port 27017 -d leshusanguo -o /root/backup0309/ --gzip
只备份某个库中的某个表为json格式
mongoexport --port 27017 -d leshusanguo -c user -o /root/backup/user.json
带查询条件的导出(设定条件:某库某表中某列值等于1)
mongoexport --port 27017 -d leshusanguo -c user -q '{"max_level":1}' -o /root/backup/user2.json
二、恢复数据库
再恢复数据的时候数据不可以存在,否则会报错无法插入,也可以用--drop 参数强制恢复
mongorestore --port 27017 -d leshusanguo /root/backup0309/ --drop
备份好以后,先删除数据再恢复
实践案例:
show dbs
use leshusanguo
show tables (可省)
db.user.find() (可省)
db.dropDatabase()
show dbs (可省)
mongorestore --port 27017 -d leshusanguo /root/backup0309/ --drop
show dbs
参考原文: