当前位置:   article > 正文

非关系型数据库 mongodb 的使用_mongo desc

mongo desc

目录

一 、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

  1. # 安装服务
  2. yum -y install mongodb mongodb-serve
  3. # 启动服务
  4. 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 中开启权限验证并重启服务

  1. db.createUser({
  2. user: 'root', //账号
  3. pwd: '123456', //密码
  4. roles: [{
  5. role: 'root', //角色
  6. db: 'admin' //数据库
  7. }]
  8. })
  9. db.dropUser('root') //删除用户
  10. db.updateUser('root', {pwd: '654321'}) //修改用户密码
  11. db.auth('root', '654321') //密码认证

二十七、PHP中操作mongodb

  1. <?php
  2. header('Content-type:text/html;charset=utf-8');
  3. $mongo = new MongoClient('mongodb://root:123456@localhost:27017/admin');
  4. //选择数据库
  5. $db = $mongo->selectDB('autofelix');
  6. //插入数据
  7. $db->users->insert([
  8. 'name' => '谭松韵',
  9. 'age' => 18
  10. ]);
  11. //查询所有数据
  12. $cursor1 = $db->users->find();
  13. $users1 = iterator_to_array($cursor1);
  14. var_dump($users1);
  15. //使用查询条件查询
  16. $cursor2 = $db->users->find([
  17. '$or' => [
  18. [
  19. 'age' => ['$egt' => 18]
  20. ],
  21. [
  22. 'name' => 'liuyifei'
  23. ]
  24. ]
  25. ])->sort(['age' => -1]);
  26. $users2 = iterator_to_array($cursor2);
  27. var_dump($users2);
  28. //删除数据
  29. $db->users->remove([
  30. 'age' => ['$in' => [12, 18]]
  31. ]);
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/寸_铁/article/detail/843036
推荐阅读
相关标签
  

闽ICP备14008679号