三分钟 mongodb 开发快速上手

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

bilibili直播申请都通过了!但是别想让我吃粑粑!

这两天我虽然没有更新文章,主要因为小熊最近的工作密度比较大,有时候为了能够偷懒花一些时间主动写一些脚本或者代码,减少很多人力的操作,这种事情没有人要求小熊,但是我还是会主动去,长痛不如短痛就是这个道理。

工作之余我可没有闲着,今天要和大家分享的是来自一位读者的要求,他们小组马上要用mongodb了,但是以前从来没有接触过,小熊就满足你的需求。

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

这是一篇科普文。

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

我们用 mongodb 比较感兴趣的是为什么要用他?他有什么好处?什么时候该用?具体怎么用?

mongo 相对于传动的关系型数据库,例如MySQL来说,他对每一次插入的字段格式没有要求,字段可以随意变动。

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

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的简单入门啦,我们先讲应用,以后有机会再聊聊业务怎么设计,怎么真正的用起来,系统的讲讲有哪些比较重要的点。下次再见啦。

mongodb 输出数组字段_三分钟 mongodb 开发快速上手相关推荐

  1. mongodb 输出数组字段_MongoDb文档操作、索引操作

    学习主题:MongoDb 学习目标: 掌握mongodb文档的更新 掌握mongodb文档的删除 掌握mongodb文档的查找 掌握mongodb文档的条件操作符 掌握mongodb中的索引操作 Mo ...

  2. mongodb 输出数组字段_JMeter之Groovy对MongoDB操作

    背景 使用Jmeter做接口测试时需要初始数据,需要连接数据库,然而我们的后端使用的是MongoDB. 操作步骤 2.1 导入将连接MongoDB 所涉及的jar包导入jmeter的扩展lib1)扩展 ...

  3. JAVA输出数组元素的三种方法(for/for each/toString)

    2022_02_19学习输出数组元素的三种方法以及c语言和java中数组的不同点 方法一:for循环输出数组元素 方法二:for each循环语句 方法三:Arrays类中的toString方法 c语 ...

  4. 带您探究云存储的奥秘,三分钟帮您快速了解OSS

    摘要: 快来,带您探究云存储的奥秘,三分钟帮您快速了解OSS. 阿里云对象存储服务,简称 OSS,是一种面向海量数据规模的分布式存储服务,具有稳定.可靠.安全.低成本的特点,能够提供十一个九的数据可靠 ...

  5. mongodb 对象唯一索引_什么是MongoDB?简介,架构,功能和示例

    通过这个教程,我们将学习如下内容:- 什么是MongoDB? MongoDB功能 MongoDB示例演示 MongoDB架构的关键组件 为什么要使用MongoDB MongoDB中的数据建模 Mong ...

  6. laravel mongodb如何声明数据类型_什么是MongoDB?简介,架构,功能和示例

    通过这个教程,我们将学习如下内容:- 什么是MongoDB? MongoDB功能 MongoDB示例演示 MongoDB架构的关键组件 为什么要使用MongoDB MongoDB中的数据建模 Mong ...

  7. mysql和oracle冲突吗_三分钟带你分清MySQL 和Oracle之间的误区

    原标题:三分钟带你分清MySQL 和Oracle之间的误区 来自:华为云开发者社区 摘要:MySQL和Oracle,别再傻傻分不清. MySQL 和Oracle 在开发中的使用是随处可见的,那就简单去 ...

  8. 串口发送tcp数据 源端口号_三分钟基础知识:用动画给面试官解释 TCP 三次握手过程...

    作者 |  小鹿 来源 |  小鹿动画学编程 写在前边 TCP 三次握手过程对于面试是必考的一个,所以不但要掌握 TCP 整个握手的过程,其中有些小细节也更受到面试官的青睐. 对于这部分掌握以及 TC ...

  9. 队列判空_三分钟基础:什么是队列?

    作者 |  小鹿 来源 |  小鹿动画学编程 写在前边 像线程池.异步队列.消息队列等有限的资源容器中,往往存储大量的任务事件,这些大量的任务事件需要进行有条理的进行任务分发以及各种情况处理,为了能够 ...

最新文章

  1. 最亲密接触DhtmlJScript开发细节
  2. 微软在你的计算机里隐藏的秘密
  3. 老男孩python学习_day004作业
  4. 三、链表(Linked List)(原理)
  5. vue - 父子组件通信之$emit传多个参数
  6. Java字符串分割到map_如何在Java中按空格分割字符串并以键值形式存储在map中?...
  7. 仿微信图片编辑 全网功能最全的图片编辑器
  8. 倍福BECKHOFF PLC:学习资源汇总
  9. 李炎恢html5资源,李炎恢HTML5视频资料分享
  10. 8- 性能测试面试题(测试框架总结)史上最全面试题
  11. 2020年中青杯数学建模B题思路
  12. python猴子吃桃子的问题_张含韵忍不住一吃再吃的这种湖南美食,你可能买到假货...
  13. ChemDraw怎么激活?ChemDraw激活教程
  14. 路飞学城python全栈开发_[Python] 老男孩路飞学城Python全栈开发重点班 骑士计划最新100G...
  15. java 多个PDF合成一个
  16. 用vscode写markdown的正确姿势
  17. 周报(关于项目开发模式的一点总结)
  18. 神经递质/核苷代谢物质靶向代谢检测
  19. 纳米压痕仪应用及制样要求
  20. 51单片机(LED灯)

热门文章

  1. frp 后台地址_Frp后台自动启动的几个方法
  2. JUC队列-LinkedBlockingDeque(三)
  3. Effective Java之将局部变量的作用域最小化(四十五)
  4. 01.elasticsearch metric aggregation 查询
  5. 并行数据库 分布式数据库
  6. MAP/REDUCE:Google和Nutch实现异同及其他
  7. H5新增API_geoLocation
  8. Linux简介之——目录与文件管理
  9. 中职计算机专业英语说课稿,高职高专英语说课稿
  10. git gui怎么拉取项目代码_Git GUI使用方法【转】