技术知识库

连接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


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: