小熊昨天晚上作了一个很是真实的噩梦,有读者朋友催我”怎么又没有发文!让咱们等的好辛苦“,今天一睁开眼眼看后台留言,特么,竟然是真的!sql
我bilibili
直播申请都经过了!可是别想让我吃粑粑!mongodb
这两天我虽然没有更新文章,主要由于小熊最近的工做密度比较大,有时候为了可以偷懒
花一些时间主动写一些脚本或者代码,减小不少人力的操做,这种事情没有人要求小熊,可是我仍是会主动去,长痛不如短痛就是这个道理。数据库
工做之余我可没有闲着,今天要和你们分享的是来自一位读者的要求,他们小组立刻要用mongodb
了,可是之前历来没有接触过,小熊就知足你的需求。json
有道是,无巧不成书,咱们也用到了mongdb
,不过对于小熊我的来讲,对mongodb
的接触仅限于维护的时候看看表结构,更新几行记录什么的,正好逮到这个契机下决心好好总结一下。数组
这是一篇科普文。服务器
咱们用 mongodb
比较感兴趣的是为何要用他?他有什么好处?何时该用?具体怎么用?数据结构
mongo
相对于传统的关系型数据库,例如MySQL
来讲,他对每一次插入的字段格式没有要求,字段能够随意变更。并发
像这张图,各类类型的字段都存在里面。看上去和Mysql
长的很像,可是他是去sql
的一种数据库。就是咱们常说的nosql
app
MongoDB
的优势/缺点MongoDB
的优点主要有 3 个。运维
结构灵活,表结构更改比较自由,不用由于增减字段每次alter
的时候付出代价,适合业务快速迭代,并且 json
原生和大多数的语言有自然的契合。还支持数组,嵌套文档等数据类型
自带高可用,自动主从切换(副本集)
自带水平分片(分片),内置了路由,配置管理。应用只要链接路由,对应用来讲是透明的。
也具有全部NoSQL
的其余优势。
缺点:
主要记得灵活、好用、速度快、容器扩展运维方便就行了,不像MySQL
那样,对集群同步要求那么高。
mongodb
中基本的概念是文档、集合、数据库,让我由外而内和你们聊聊。
和MySQL
对比来看就是
和MySQL
同样,一个 mongodb
中能够创建多个数据库。
展现全部的数据库
> show dbs
local 0.078GB
test 0.078GB
运行use
命令,能够链接到一个指定的数据库(没有则建立)。
> use coding3min
switched to db coding3min
执行 db
命令能够显示当前数据库对象或集合。
> db
coding3min
说集合以前,要先说说集合里全部的行记录,也就是文档,相似MySQL
表中一行一行的记录。
文档是个什么东西呢?他长的就像 JSON
对象。
数据结构由键值 (key=>value)
对组成。字段值能够包含其余文档,数组及文档数组,简直和json
一毛同样。
点击放大查看图片
集合相似MySQL
中的表,就是文档的集合。
db.createCollection("coding3min", {happy:true, age:18})
查看固然库有哪些集合
> show collections
coding3min
其实你不用刻意建立集合。在插入文档的时候,会自动建立。
这就是Mongo
的简单入门啦,咱们先讲应用,之后有机会再聊聊业务怎么设计,怎么真正的用起来,系统的讲讲有哪些比较重要的点。下次再见啦。