MongoDB常用操作命令

关于MongoDB上次已经在《Debian平台安装MongoDB》讲过了,本文主要是列出一些常见的操作命令,为了自用mark为一篇文章。

连接mongodb 标准 URI 连接语法:

mongodb://[username:[email protected]]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]
  • mongodb:// 这是固定的格式,必须要指定。
  • username:[email protected] 可选项,如果设置,在连接数据库服务器之后,驱动都会尝试登陆这个数据库
  • host1 必须的指定至少一个host, host1 是这个URI唯一要填写的。它指定了要连接服务器的地址。如果要连接复制集,请指定多个主机地址。
  • portX 可选的指定端口,如果不填,默认为27017
  • /database 如果指定username:[email protected],连接并验证登陆指定数据库。若不指定,默认打开admin数据库。
  • ?options 是连接选项。如果不使用/database,则前面需要加上/。所有连接选项都是键值对name=value,键值对之间通过&或;(分号)隔开

使用用户名和密码连接登陆到指定数据库,格式如下:

mongodb://admin:[email protected]/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
Licensed under CC BY-NC-SA 4.0
最后更新于 Mar 08, 2017 14:33 UTC