mongo库的相关操作经验
操作mongo相关经验:
1.创建数据库用户名:
{ user: "bianque",
pwd: "123456",
roles: [ { role: "readWrite", db: "bianque" } ]
}
)
添加权限:
db.auth('bianque','123456'); //用户名,密码
配置远程连接:
编辑文件:/etc/mongodb.conf
修改后的内容如下:
bind_ip = 0.0.0.0
port = 27017
重启mogo:
sudo service mongodb restart
2.启动mogod:sudo service mongod start,测试:mongo
3.连接数据库命令:mongo -u 用户名 -p 密码 -h IP:port/数据库名称
mongo -u opsmart_demo -p q1w2e3r4 192.168.6.252/opsmart_demo
连接本地:mongo localhost/opsmart_local
4.备份数据
整个数据库导出:mongodump -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -o 文件存在路径
sudo mongodump -h 192.168.6.219:27017 -u opsmart -p q1w2e3r4 -d opsmart -o ./
恢复数据:
mongorestore -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 --drop 文件存在路径
指定表恢复数据:
mongorestore -h localhost --port 27017 -u dbuser -p pwd -d dbname -c 表名 --drop 表名.bson
备份到本地数据库, 如果没有这个数据库会新建一个:
mongorestore -d opsmart_syy ./opsmart_syy/
5.导出导入数据
导出:
按表格导出,需要先建立一个phytopology_node.dat文件:mongoexport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 -o 文件名
mongoexport -h 118.190.208.205 -u opsmart -p q1w2e3r4 -d opsmart -c phytopology_node -o ./phytopology_node.dat
按表格字段导入:mongoexport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 -f 字段 -q 条件导出 -o 文件名
mongoexport -h 192.168.6.252 -u opsmart_demo -p q1w2e3r4 -d opsmart_demo -c phytopology_version -f _id,version,latest_date,public_date,server_date -o ./phytopology_version.dat
导入:
mongoimport -h 118.190.208.205 -u opsmart -p q1w2e3r4 -d opsmart -c phytopology_link --upsert ./phytopology_link.dat
导入csv格式:
mongoimport -h 10.10.2.149 -p 27017 -d neikong -c dmzd --type csv --headerline --file ./dmzd.csv
5.恢复数据
进入到文件目录中
mongorestore -h localhost:27017 -u opsmart -p q1w2e3r4 -d opsmart --drop ./
6.批量修改
db.getCollection('AppDict').update({},{$set:{app_id:ObjectId("5bfd0dd81e1f2e4890995e43")}},{multi:true,upsert:false})