关于MongoDB上次已经在《Debian平台安装MongoDB》讲过了,本文主要是列出一些常见的操作命令,为了自用mark为一篇文章。
连接mongodb
标准 URI 连接语法:
mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]
- mongodb:// 这是固定的格式,必须要指定。
- username:password@ 可选项,如果设置,在连接数据库服务器之后,驱动都会尝试登陆这个数据库
- host1 必须的指定至少一个host, host1 是这个URI唯一要填写的。它指定了要连接服务器的地址。如果要连接复制集,请指定多个主机地址。
- portX 可选的指定端口,如果不填,默认为27017
- /database 如果指定username:password@,连接并验证登陆指定数据库。若不指定,默认打开admin数据库。
- ?options 是连接选项。如果不使用/database,则前面需要加上/。所有连接选项都是键值对name=value,键值对之间通过&或;(分号)隔开
使用用户名和密码连接登陆到指定数据库,格式如下:
mongodb://admin:123456@localhost/test
询所有数据库列表
show dbs
查看当前连接在哪个数据库下面
db
切换到test数据库
use test
想查看test下有哪些表或者叫collection
show collections
查询collection内容
db.hitokotos.find()
删库 切换到那个库,然后执行
db.dropDatabase()
mongodb帮助:
help
数据库支持哪些方法:
db.help()
数据库添加用户:
db.createUser({ user: 'root',pwd: 'abc123', roles: [{role: 'dbOwner', db: 'hitokoto'}]});
测试用户连接:
db.auth("root","abc123")
返回为1为认证成功
mongodump备份数据库:
mongodump -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -o 文件存在路径
- 没有用户,可以去掉-u和-p。
- 导出本机的数据库,可以去掉-h。
- 默认端口,可以去掉–port。
- 导出所有数据库,可以去掉-d。
mongorestore还原数据库:
mongorestore -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 --drop 文件存在路径
- –drop的意思是,先删除所有的记录,然后恢复。
- 路径是所有库的备份路径
mongoexport导出表,或者表中部分字段:
mongoexport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 -f 字段 -q 条件导出 --csv -o 文件名
- -f 导出指字段,以字号分割,-f name,email,age导出name,email,age这三个字段
- -q 可以根查询条件导出,-q ‘{ “uid” : “100” }’ 导出uid为100的数据
- –csv 表示导出的文件格式为csv的,这个比较有用,因为大部分的关系型数据库都是支持csv,在这里有共同点
Mongodb数据导出到json或csv:
mongoexport --help
mongoexport -d hitokoto -c hitokotos -o /test.json