目录
一 、mongo的应用范围和限制
二、mongo中的三个概念
三、安装mongodb
四、mongo命令
五、show dbs命令?
六、use命令
七、db命令
八、show tables命令
九、db.help()命令
十、db.dropDatabase()命令?
十一、db.集合名称.help()命令
十二、insert命令?
十三、find()命令
十四、$or操作符
十五、$and操作符
十六、sort()命令?
十七、update命令和$set修改器?
十八、remove()命令
十九、$in操作符
二十、创建普通索引
二十一、创建唯一索引?
二十二、验证唯一索引的约束性
二十三、查看索引getIndexes()命令
二十四、删除索引dropIndex()命令
二十五、执行计划explain
二十六、权限验证
二十七、PHP中操作mongodb
一 、mongo的应用范围和限制
MongoDB 安全性是所有NOSql最好的
MongoDB 安装的文件比较大,占据了一定的硬盘空间
不支持连表查询,不支持sql语句,不支持事务存储过程等,所以不适合存储数据间关系比较复杂的数据,一般主要是当做一个数据仓库来使用
适用于:日志系统,股票数据等。
不适用于:电子商务系统等需要连多表查询的功能。
二、mongo中的三个概念文档:是mongoDB中数据的基本单元,类似关系数据库的行,多个键值对有序地放置在一起便是文档
集合:集合就是一组文档,多个文档组成一个集合,集合类似于 mysql里面的表
数据库:多个集合可以组成数据库。一个mongoDB实例可以承载多个数据库,他们之间完全独立。 Mongodb中的数据库和Mysql中的数据库概念类似,只是无需创建
三、安装mongodb window下安装:window下安装mongodb详细步骤linux下安装 # 安装服务 yum -y install mongodb mongodb-serve # 启动服务 service mongod start 四、mongo命令命令功能:用于登录mongodb的命令行
语法:mongo [-u登录名] [-p登录密码] [localhost:27017/验证数据库]
五、show dbs命令?命令功能:用于显示所有数据库
命令作用:相当mysql的 show databases();?命令
六、use命令命令功能:选择数据库,如果数据库不存在,则为创建之后选择
命令作用:相当mysql当中use命令
?
七、db命令命令功能:当前数据库
命令作用:相当于mysql当中select d示当前正在操作的数据库
?
八、show tables命令命令功能:显示当前数据库的集合(表)
?
九、db.help()命令 命令功能:显示数据库的帮助文档信息 十、db.dropDatabase()命令? 命令功能:删除当前正在操作的数据库,删除数据库会让集合和文档全部丢失?
十一、db.集合名称.help()命令 命令功能:显示当前操作数据库中的集合相关帮助文档信息 十二、insert命令??命令格式:db.集合名称.insert( {bson数据} )
集合名称:在Mongodb中集合相当于表,这个表是无需创建,如果表不存在那么就是自动创建,如果存在就是选择
?
十三、find()命令命令格式:db.集合名称.find({条件})[.limit().skip().count(true)]
?
十四、$or操作符 命令作用:相当于mysql当中or操作符 十五、$and操作符 命令作用:相当于mysql当中and操作符 十六、sort()命令? 命令作用:相当于mysql当中and操作符语法规则:db.集合名称.find().sort( {字段:-1/1} );1:代表升序排列,相当于asc的操作,默认为asc
-1:代表降序排列,相当于desc的操作
十七、update命令和$set修改器? 命令作用:更新文档内容?命令格式:db.集合名称.update( {条件},{‘$set’:{字段:值}},false,true?);
第3个参数表示关闭只修改单行记录功能,false表示修改可以发生在多行记录中
第4个参数表示启动批量修改功能
十八、remove()命令语法规则:db.集合名称.remove( {条件} );
注意:如果条件为空,则代表删除集合中所有的文档?
?
十九、$in操作符 命令作用:$in操作相当于mysql中in操作语句语法命令:db.集合名称.find( {字段:{'$in':[....]}} )??
二十、创建普通索引 ?语法格式:db.集合名称.ensureIndex( {字段:1}); 二十一、创建唯一索引? ?语法格式:db.集合名称.ensureIndex( {字段:1},{索引的属性} );?
二十二、验证唯一索引的约束性?
二十三、查看索引getIndexes()命令命令作用:用于查询一个集合当中的索引有哪些
二十四、删除索引dropIndex()命令 ?命令作用:删除集合中指定的索引 二十五、执行计划explain 命令作用:执行计划是查看一个find() 是否可以使用上索引语法格式:db.集合名称.find({条件}).explain()
二十六、权限验证mongodb号称世界上nosql产品中最安全的产品,mongodb拥有权限验证机制和加密功能
低版本的权限语法为addUser;高版本的权限语法为createUser需要先切换到admin数据库中?系统用户、更新密码、删除数据库用户角色:read、readWrite
数据库管理角色:dbAdmin、dbOwner、userAdmin
集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager
备份恢复角色:backup、restore
所有数据库角色: readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
超级用户角色:root
新增用户后,需要在配置文件 mongodb.conf 中开启权限验证并重启服务
db.createUser({ user: 'root', //账号 pwd: '123456', //密码 roles: [{ role: 'root', //角色 db: 'admin' //数据库 }] }) db.dropUser('root') //删除用户 db.updateUser('root', {pwd: '654321'}) //修改用户密码 db.auth('root', '654321') //密码认证?
二十七、PHP中操作mongodb <?php header('Content-type:text/html;charset=utf-8'); $mongo = new MongoClient('mongodb://root:123456@localhost:27017/admin'); //选择数据库 $db = $mongo->selectDB('autofelix'); //插入数据 $db->users->insert([ 'name' => '谭松韵', 'age' => 18 ]); //查询所有数据 $cursor1 = $db->users->find(); $users1 = iterator_to_array($cursor1); var_dump($users1); //使用查询条件查询 $cursor2 = $db->users->find([ '$or' => [ [ 'age' => ['$egt' => 18] ], [ 'name' => 'liuyifei' ] ] ])->sort(['age' => -1]); $users2 = iterator_to_array($cursor2); var_dump($users2); //删除数据 $db->users->remove([ 'age' => ['$in' => [12, 18]] ]);
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。 |
标签: #一文搞懂非关系型数据库 #mongodb #的使用