MongoDB实战之快速开始-CSDN博客
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
写在前面以前使用mongo只了解了个增删改查而且没有集成springboot里面使用过。最近花了几小时系统的学习了一遍MongoDB,为了巩固和方便查找在此记录下学习过程。
一、MongoDB的简介
MongoDB 是一个高性能、高可用性和易扩展的 NoSQL 数据库。与传统的关系数据库如 MySQL 或 PostgreSQL相比MongoDB 使用 JSON-like 的文档格式BSON来存储数据这使得数据模型更为灵活。
主要特点
-
文档导向MongoDB 存储的数据是 BSON二进制 JSON文档具有动态模式这意味着文档中可以嵌套其他文档和数组。
-
高性能因为其内存数据存储和优化的查询性能MongoDB 提供了高速读写操作。
-
高可用性通过副本集Replica Sets实现数据的高可用性。
-
水平扩展MongoDB 可以通过分片Sharding在多台机器上分布数据以支持非常大的数据集。
-
丰富的查询语言MongoDB 提供了一组丰富的查询操作和索引让你能够方便地搜索、排序和过滤数据。
-
支持地理空间数据你还可以用它进行地理空间查询。
-
开源MongoDB 是开源软件任何人都可以下载和使用也有多种商业版本提供额外的功能和支持。
用途实时分析和数据可视化、移动应用、内容管理系统、IoT 应用、电子商务等。
上面提到了一个BSON什么是BSON
BSONBinary JSON 的缩写是一种二进制编码的序列化 JSON-like 文档的格式。MongoDB 使用 BSON 作为数据存储和网络传输的格式。BSON 不仅支持 JSON 常见的数据类型例如数值、字符串和布尔值还支持更多复杂的类型如日期和二进制数据。
BSON 的主要特点
-
类型丰富除了基本的 JSON 类型字符串、数值、数组、对象、布尔值、
null
之外BSON 还支持其他几种数据类型包括日期和二进制数据。 -
轻量级虽然 BSON 比纯 JSON 略大但它仍然是一个非常轻量级的存储格式。
-
高效BSON 格式设计成易于扫描和解析这有助于提高 MongoDB 的读写性能。
-
可遍历由于其结构化的格式BSON 文档可以被快速遍历这对于数据库查询操作是非常有用的。
-
支持内嵌文档和数组这让数据更加灵活和多层次非常适合文档导向的数据库模型。
个人理解浅显看就是JOSN的加强版传输形式还是JSON的{key:value}形式mongo拿到这个之后key就作为了字段名value就作为了值。
二、安装与搭建
快速开始的第一步就是安装mongoDB了一般很多人因为电脑本身环境问题遇到一些奇奇怪怪的坑。所以我主要说明三种安装方式以及我最推荐的方式。前人之述足矣我就不在造轮子了直接挂链接。
win10系统安装MongoDB
这篇博客详细的介绍了MongoDB的安装过程并配置成了自启动服务非常方便亲测有效。
MongoDB的安装配置教程很详细你想要的都在这里https://blog.csdn.net/weixin_43405300/article/details/120017878
Linux安装MongoDB
这篇博客详细的介绍了MongoDB的Linux安装过程并配置成了自启动服务非常方便亲测有效。
需要注意的是
- 如果使用的虚拟机一定要记得放开端口如果是云服务器一定要配置防火墙安全组端口。
- 测试远程连接拿navicat一样的用法。
- 配置完成Linux的环境后一定要source /etc/profile刷新环境
Linux CentOS7 环境下安装 MongoDBhttps://blog.csdn.net/chenlixiao007/article/details/110206062
Docker容器安装MongoDB(强烈推荐)
为什么推荐使用Docker容器安装因为通过 Docker你可以用单一命令轻松地下载、安装和运行 MongoDB无需进行复杂的安装和配置。
需要注意
- 运行容器需要挂载目录和端口映射下面这篇文章docker run 的时候指定了所以也可以无脑跟。
- 还是一样需要注意服务器的防火墙端口一定要放开放开之后要记得刷新。
- sudo firewall-cmd --permanent --add-port=27017/tcp 设置端口
- sudo firewall-cmd --reload刷新防火墙
- sudo firewall-cmd --list-all查看安全组
docker安装mongoDB及使用https://blog.csdn.net/packge/article/details/126539320
如果还没有安装docker的话传送门如下
Docker安装https://blog.csdn.net/qq_47959003/article/details/123957011
三、连接测试
不论是哪一种安装完成之后用客户端软件登录的方式都是一样的。
- 如果你没有设置密码验证部分就直接None就好
- 如果设置了账号密码
这里首先需要说明一个误区密码和传统数据如mysql等有些区别
mongodb的用户名和密码是基于特定数据库的而不是基于整个系统的。上面这个验证数据库也就是你指定存储用户名和密码的数据库。
刚开始了解MongoDB权限管理这方面确实有些摸不着头脑因此我在MongoDB系统学习专栏中详细写了一些关于这方面的心得。