版本3.6.x
配置
- windows建议安装service方式,省的每次通过命令行启动server端。
- 对比mysql
大部分人都有mysql的使用经验,对比着学习也是种不错的方法。
具体区别见官方文档 非常详细。 - 比如mongo里没有table和row的概念,而是对应的collection和document。
- mongo非常灵活,当执行插入语句,如果collection不存在会自动创建,
如db.people.insertOne( { user_id: "bcd001", age: 45, status: "A" } )
不存在会自动创建名为people的collection。
导入导出
- 导出有 mongoexport和mongodump工具。
mongodump和mongodrestore对应
mongoexport和mongoimport对应
mongoexport 必须指定collection,但是可以导出来json或csv格式可读性好,使用 mongodump 可直接将整个库都导出来。
先.\mongoexport.exe --help
- 假设要导出database是blog,collection是post。
.\mongoexport.exe -d blog -c post -o D:/post.json
- 导出整个库
mongodump.exe --db riot
,每个collection对应一个bson和metadata.json格式文件
角色 权限
- 角色控制
为某库添加可读可写的角色
use admin;
db.createUser(
{
user: "riot",
pwd: "riot",
roles: [ { role: "readWrite", db: "riot" } ]
}
)
- 查看某角色的权限信息
https://docs.mongodb.com/manual/reference/command/usersInfo/#examples - 检查某用户是否可以登录某数据库 ,先use进该库,然后
db.auth('user', 'pass')
工具
客户端工具我就推荐一个 Studio 3T
理由:
- 比官方自带的强大很多,有点类似 Navicat,导入导出,复制表,用户分配权限什么的都带
- 非商业用途免费使用