MongoDB概述
MongoDB和MySql的区别:
1、mongodb使用mysql语言操作,mysql使用的是sql语言;
2、mongodb使用json形式保存一条记录,读、写、方面性能非常快;
3、mongodb是无模式的(没有表结构);
4、mongodb性能比较好,是以牺牲功能为代价的,它的功能比较简单;
5、mongodb的扩展非常容易(用mongodb实现分库、分表、读写分离、分布式存储非常容易,配置一下即可),mysql的扩展也可以做到,但性能和维护成本非常高。
mongodb是面向文档的数据,一条记录叫做文档,把多个文档放在一起叫做集合(mysql中的表)
文档(类似MySQL中的一条记录)---> 集合(类似MySQL中的数据表)---> 数据库
mongo非常适合存储结构简单,数据量非常大、高并发读写的操作。
mongodb在存储关系比较复杂的数据的时候不太容易、不支持关系和联表操作,处理数据中一对多,多对多的关系的时候没有mysql容易。
简单命令
db :当前正在使用的数据库
use 库名 切换数据库,可以不存在这个数据库
show dbs 查看所有数据库
查看帮助
help 系统级别帮助
db.help() 数据库级别的帮助
db.集合名字.help() 集合级别的帮助
启动权限机制
启动权限机制之前,需要在mongodb中先添加管理员账号
添加普通管理员,修改账户,登录
db.addUser(用户名,密码,是否只读)
db.auth(用户名,密码) ----登录
例1:添加一个管理员用户
use admin -->选择管理员数据库
db.addUser("root","1234") -->把用户添加到admin库中
例2:向sns数据库中添加一个只读的普通用户
use sns
db.addUser('test','1234',true); 只读用户
注:
1、用户要属于某一数据库,只对这个特定的数据库起作用;
2、如果一个账号属于admin数据库,那么就是超级管理员;
3、在使用账号登录的时候必须切换到这个账号所在的数据库。