网站运营 开发响应式博客网站模板
web/
2025/10/6 21:41:46/
文章来源:
网站运营 开发,响应式博客网站模板,成都住建局官网地址,wordpress 怎么修改这是我参与「第四届青训营 」笔记创作活动的的第27天#xff0c;今天主要记录前端进阶必须掌握内容Mongodb数据库,从搭建环境到运行数据库,然后使用MongodB;
一、文章内容
数据库基础知识关系型数据库和非关系型数据库为什么学习Mongodb数据库环境搭建及运行MongodbMongodb命…这是我参与「第四届青训营 」笔记创作活动的的第27天今天主要记录前端进阶必须掌握内容Mongodb数据库,从搭建环境到运行数据库,然后使用MongodB;
一、文章内容
数据库基础知识关系型数据库和非关系型数据库为什么学习Mongodb数据库环境搭建及运行MongodbMongodb命令之增删改查
二、数据库的基本知识
简单认识数据库
数据库说白了就是一个文件,不通的数据库有不同的存储方式,但最后归根结底都是一个文件存储在磁盘里,当然也有存储在内存中的数据库比如:redis,其次数据库文件都可以有多个数据库,一个数据库又可以有多个表(sql关系型数据库)或者一个数据库可以有多个集合(nosql非关系型数据库).
数据库的主要职责
数据库就是存储数据的.见名知意数据的仓库就是存放各种数据的仓库,视频、声音、图片等资源,一般关系型数据库存放的数据关联性很强,非关系型数据库存放的数据关联性较弱.
数据库主要功能
增加数据删除数据更新数据查询数据
三、关系型数据库和非关系型数据库
关系型数据库有sqlmysq/sql/ oracle/sqlite,非关系型数据库(nosql)redis / hbase /mongoDB /CouchDB.今天我们要学习的就是Mongodb.
sql和nosql的区别 sql存储是关系型数据数据均有结构,但是nosql既可以存储有结构数据也可存储无结构数据,比较灵活. sql是行和列组成,nosql存储是类似json数据那样.
分布式计算的优点
可靠性容错 分布式计算系统中的一个重要的优点是可靠性。一台服务器的系统崩溃并不影响到其余的服务器。
可扩展性
在分布式计算系统可以根据需要增加更多的机器。
资源共享
共享数据是必不可少的应用如银行预订系统。
灵活性
由于该系统是非常灵活的它很容易安装实施和调试新的服务。
更快的速度
分布式计算系统可以有多台计算机的计算能力使得它比其他系统有更快的处理速度。
开放系统
由于它是开放的系统本地或者远程都可以访问到该服务。
更高的性能
相较于集中式计算机网络集群可以提供更高的性能及更好的性价比。
如何选择用sql还是nosql
1)数据库表schema经常变化
2)数据库表字段是复杂数据类型
3)高并发数据库请求
4)海量数据的分布式存储
1社交场景使用 MongoDB 存储存储用户信息以及用户发表的朋友圈信息通过地理位置索引实现附近的人、地点等功能。
2游戏场景使用 MongoDB 存储游戏用户信息用户的装备、积分等直接以内嵌文档的形式存储方便查询、高效率存储和访问。
3物流场景使用 MongoDB 存储订单信息订单状态在运送过程中会不断更新以 MongoDB 内嵌数组的形式来存储一次查询就能将 订单所有的变更读取出来。
4物联网场景使用 MongoDB 存储所有接入的智能设备信息以及设备汇报的日志信息并对这些信息进行多维度的分析。
5视频直播使用 MongoDB 存储用户信息、点赞互动信息等。
这些应用场景中数据操作方面的共同特点是
数据量大写入操作频繁读写都很频繁价值较低的数据对事务性要求不高 对于这样的数据我们更适合使用MongoDB来实现数据的存储。 应用不需要事务及复杂 join 支持 新应用需求会变数据模型无法确定想快速迭代开发 应用需要2000-3000以上的读写QPS更高也可以 应用需要TB甚至 PB 级别数据存储 应用发展迅速需要能快速水平扩展 应用要求存储的数据不丢失 应用需要99.999%高可用 应用需要大量的地理位置查询、文本查询 如果上述有1个符合可以考虑 MongoDB2个及以上的符合选择 MongoDB 绝不会后悔。 四、为什么学习Mongodb数据库
灵活高、支持并发、面向文档存储.
五、环境搭建及运行Mongodb
在官网下载对应的系统版本可以下载window也可下载linux,我下载的是linux. 下载地址试用 MongoDB Atlas 产品|蒙戈德点击进去后选择社区版本free的, 然后在右侧选择自己的系统和版本如图1所示. 图1 下载界面 然后打开终端在自己选定的目录下运行
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-6.0.0.tgz下载,然后解压使用tar -zxvf mongodb-linux-x86_64-rhel70-6.0.0.tgz. 解压好之后进去mongodb-linux-x86_64-rhel70-6.0.0目录.找到bin目录进去 创建俩个目录一个是data存放数据库一个log存放日志执行下面的命令开启mongo服务
./mongod --dbpath 创建好的data目录绝对路径 --logpath 创建log文件夹绝对路径/mongod.log --bind_ip0.0.0. --forkbind_ip0.0.0.0远程也可以链接. fork是后台运行mongodb服务,没有报错说明成功开启然后输入./mongo进入数据库,在这里可以随便操作数据库了.也可以算简单的加减法.
六、Mongodb命令之增删改查
使用mongodb不需要创建表格而是需要创建集合,其实集合也不需要我们创建,直接俄操作就好,不存在集合的话,系统会自动给我们创建好; 使用show dbs 查看数据库user 数据库 可以进入数据库;然后开始增删改查操作.
增加数据
语法如下,括号里是类似对象的文档.还有save、insetOne、insetMany,insert,save被弃用.
db.集合名字.insert({name:我是小学生})删除数据
语法如下第一个参数是条件找到就删除.
db.集合名字.remove({title:MongoDB 教程})更新数据
语法如下第一个参数是条件第二个参数是修改的内容键值对.
db.集合名字.update({title:MongoDB 教程},{$set:{title:MongoDB}})查询数据
语法如下第一个参数是查询的条件,找到就返回
db.集合名字.find({by:菜鸟教程, title:MongoDB 教程})七、总结用法
1.在Mongodb中我们插入数据使用的是insert函数,其中第一个参数是需要记录的数据,形式是bson,类似于json或者是JavaScript的对象,很容易理解.
2.我们在查询和修改以及删除都需要传入一个{}对象类型的条件,比如name:“zhangsan”,就是名字等于zhangsan的这个记录,很容易理解,跟sql里的where name “zhangsan” 一样,在mongodb里和sql里的一样.还有一些逻辑表达式如下.
操作语法等于db.集合名.find({“name”:“某某人”})小于db.集合名.find({age:{$lt:18}})大于db.集合名.find({age: {$gt:18}})db.集合名.find({age:{lte:18}})db.集合名.find({age:{$gte:18}})!db.集合名.find({age:{$ne:22}})
当然还有or和and的操作,请看如图操作and且操作,or操作如图3所示. 图2 且查询 图3 或操作 总结且操作和或操作的语法:且就是在查询的find函数里第一个传入一个{}用逗号分隔查询的条件语句
db.user.find({字段1:VALUE , 字段2:VALUE })如果是或操作就是这样的语法
db.user.find({$or:[{字段1:VALUE } ,{ 字段2:VALUE }]})在查询时候find()可以传俩个函数第一个是条件第二个参数是显示的字段,不填第二个参数就和sql里的*类似返回全部,如果要选择填写可以这样传参{“age”:1},只需要写显示的字段名然后冒号1.
八、最后总结
通过本文可以简单的学习掌握基本的数据库知识和简单增删改查操作,如果有不懂的的地方欢迎留言,最后mongodb是前端必学的数据库.
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/88118.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!