三分钟 mongodb 开发快速上手

三分钟 mongodb 开发快速上手

小熊昨天晚上作了一个很是真实的噩梦,有读者朋友催我”怎么又没有发文!让咱们等的好辛苦“,今天一睁开眼眼看后台留言,特么,竟然是真的!sql

图片

bilibili直播申请都经过了!可是别想让我吃粑粑!mongodb

图片

这两天我虽然没有更新文章,主要由于小熊最近的工做密度比较大,有时候为了可以偷懒花一些时间主动写一些脚本或者代码,减小不少人力的操做,这种事情没有人要求小熊,可是我仍是会主动去,长痛不如短痛就是这个道理。数据库

工做之余我可没有闲着,今天要和你们分享的是来自一位读者的要求,他们小组立刻要用mongodb了,可是之前历来没有接触过,小熊就知足你的需求。json

图片

有道是,无巧不成书,咱们也用到了mongdb,不过对于小熊我的来讲,对mongodb的接触仅限于维护的时候看看表结构,更新几行记录什么的,正好逮到这个契机下决心好好总结一下。数组

这是一篇科普文。服务器

为何用(有在哪,有什么好处) ?

咱们用 mongodb 比较感兴趣的是为何要用他?他有什么好处?何时该用?具体怎么用?数据结构

图片

mongo 相对于传统的关系型数据库,例如MySQL来讲,他对每一次插入的字段格式没有要求,字段能够随意变更。并发

图片

像这张图,各类类型的字段都存在里面。看上去和Mysql长的很像,可是他是去sql的一种数据库。就是咱们常说的nosqlapp

MongoDB 的优势/缺点

MongoDB 的优点主要有 3 个。运维

  • 结构灵活,表结构更改比较自由,不用由于增减字段每次alter 的时候付出代价,适合业务快速迭代,并且 json 原生和大多数的语言有自然的契合。还支持数组,嵌套文档等数据类型

  • 自带高可用,自动主从切换(副本集)

  • 自带水平分片(分片),内置了路由,配置管理。应用只要链接路由,对应用来讲是透明的。

也具有全部NoSQL的其余优势。

  • 他能够并发插入上万条文档
  • 高可扩展性,在负载高的状况下,只须要添加更多的节点,就能够保证服务器的性能。
  • 分布式计算
  • 低成本,轻量化部署很是简单
  • 没有复杂的关系

缺点:

  • 没有标准化
  • 程序不直观

主要记得灵活、好用、速度快、容器扩展运维方便就行了,不像MySQL那样,对集群同步要求那么高。

基本概念

mongodb 中基本的概念是文档、集合、数据库,让我由外而内和你们聊聊。

MySQL对比来看就是

  • 数据库——>数据库
  • 表————>集合
  • 行————>文档
  • 列 ————>字段

数据库(db)?

MySQL同样,一个 mongodb 中能够创建多个数据库。

展现全部的数据库

> show dbs
local  0.078GB
test   0.078GB

运行use命令,能够链接到一个指定的数据库(没有则建立)。

> use coding3min
switched to db coding3min

执行 db 命令能够显示当前数据库对象或集合。

> db
coding3min

文档(Document)?

说集合以前,要先说说集合里全部的行记录,也就是文档,相似MySQL表中一行一行的记录。

文档是个什么东西呢?他长的就像 JSON 对象。

图片

数据结构由键值 (key=>value) 对组成。字段值能够包含其余文档,数组及文档数组,简直和json一毛同样。

图片点击放大查看图片

集合(collection)?

集合相似MySQL中的表,就是文档的集合。

db.createCollection("coding3min", {happy:true, age:18})

查看固然库有哪些集合

> show collections
coding3min

其实你不用刻意建立集合。在插入文档的时候,会自动建立。

这就是Mongo的简单入门啦,咱们先讲应用,之后有机会再聊聊业务怎么设计,怎么真正的用起来,系统的讲讲有哪些比较重要的点。下次再见啦。

相关文章
相关标签/搜索