【1】MongoDB的安装以及连接

今天是2023年10月11日,MongoDB最新版本是7.0.2

最近闲着没事学习一下MongoDB这个NoSQL数据库,有时间就顺手记录一下我学习的笔记吧~

学习笔记来自黑马程序员《MongoDB基础入门到高级进阶,一套搞定mongodb》

配套资料:点此资料链接 提取码:29ad

一、MongoDB简介

  • MongoDB是一个开源、高性能、无模式的文档型数据库,当初的设计就是用于简化开发和方便扩展,是NoSQL数据库产品中的一种。是最像关系型数据库(MySQL)的非关系型数据库。
  • 它支持的数据结构非常松散,是一种类似于 JSON 的 格式叫BSON,所以它既可以存储比较复杂的数据类型,又相当的灵活。
  • MongoDB中的记录是一个文档,它是一个由字段和值对(field:value)组成的数据结构。MongoDB文档类似于JSON对象,即一个文档认为就是一个对象。字段的数据类型是字符型,它的值除了使用基本的一些类型外,还可以包括其他文档、普通数组和文档数组。

1.1、与MySQL横向对比

1.2、MongoDB特点

1、高性能:

MongoDB提供高性能的数据持久性。特别是,对嵌入式数据模型的支持减少了数据库系统上的I/O活动。

索引支持更快的查询,并且可以包含来自嵌入式文档和数组的键。(文本索引解决搜索的需求、TTL索引解决历史数据自动过期的需求、地理位置索引可用于构建各种 O2O 应用)

mmapv1、wiredtiger、mongorocks(rocksdb)、in-memory 等多引擎支持满足各种场景需求。

Gridfs解决文件存储的需求。

2、高可用性:

MongoDB的复制工具称为副本集(replica set),它可提供自动故障转移和数据冗余。

3、高扩展性:

MongoDB提供了水平可扩展性作为其核心功能的一部分。

分片将数据分布在一组集群的机器上。(海量数据存储,服务能力水平扩展)

从3.4开始,MongoDB支持基于片键创建数据区域。在一个平衡的集群中,MongoDB将一个区域所覆盖的读写只定向到该区域内的那些片。

4、丰富的查询支持:

MongoDB支持丰富的查询语言,支持读和写操作(CRUD),比如数据聚合、文本搜索和地理空间查询等。

5、其他特点:

如无模式(动态模式)、灵活的文档模型

1.3、MongoDB数据模型

  • MongoDB的最小存储单位就是文档(document)对象。文档(document)对象对应于关系型数据库的行。数据在MongoDB中以BSON(Binary-JSON)文档的格式存储在磁盘上。
  • BSON(Binary Serialized Document Format)是一种类json的一种二进制形式的存储格式,简称Binary JSON。BSON和JSON一样,支持内嵌的文档对象和数组对象,但是BSON有JSON没有的一些数据类型,如Date和BinData类型。
  • BSON采用了类似于 C 语言结构体的名称、对表示方法,支持内嵌的文档对象和数组对象,具有轻量性、可遍历性、高效性的三个特点,可以有效描述非结构化数据和结构化数据。这种格式的优点是灵活性高,但它的缺点是空间利用率不是很理想。
  • Bson中,除了基本的JSON类型:string,integer,boolean,double,null,array和object,mongo还使用了特殊的数据类型。这些类型包括 date,object id,binary data,regular expression 和code。每一个驱动都以特定语言的方式实现了这些类型,查看你的驱动的文档来获取详细信息。

数据类型参考表

二、下载安装MongoDB(以Windows10系统为例)

有关于MogoDB的介绍大家首先到MongoDB的官网(MongoDB官网),官网界面如下:

1、 选择上方的产品 -> Community Server并点击

2、点击之后跳转到以下页面,选择Select Package

3、随后跳转到下载页面,可以选安装包或者解压包,建议解压安装即可


4、解压出来的样子

建议将其bin目录配置到path环境变量中

5、启动MongoDB

5.1、可以自己创建一个data/db目录,用于存放之后的数据


5.2、命令行启动

进入到bin目录中,打开命令行终端,执行以下命令:

shell 复制代码
mongod --dbpath=../data/db


启动完成,占用27017端口

5.3、当然也可以使用配置文件启动

在MongoDB根目录下面创建一个conf文件夹(就是刚刚与data平级),并进入conf目录创建一个mongod.conf文件,写入以下内容:

yml 复制代码
storage:
  dbPath: D:\Server\mongodb-win32-x86_64-windows-7.0.1\data\db


此时可以使用配置文件的方式启动MongoDB命令如下:

shell 复制代码
mongod -f D:\Server\mongodb-win32-x86_64-windows-7.0.1\conf\mongod.conf

执行完毕可以看到同样启动成功

三、MongoDB Compass连接MongoDB

以前的版本,在下载下来的MongoDB压缩包的bin目录下,还有mongomongosh等命令的,用于打开连接MongoDB的图形客户端的,从6.0的版本开始,MongoDB将GUI客户端单独分离出来了,需要单独下载。

3.1、下载方式1

3.2、下载方式2

还是进入刚刚的官网,看图:


下载完成解压

执行.exe文件,会自动在桌面以及开始菜单多出相应的快捷方式,方便下次运行

连接成功,可以查看到默认的三个库了

好了,本篇就到此结束,希望能对大家有所帮助~

相关推荐
老邓计算机毕设3 小时前
SSM智慧社区家政服务系统80q7o(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·ssm 框架
松涛和鸣4 小时前
72、IMX6ULL驱动实战:设备树(DTS/DTB)+ GPIO子系统+Platform总线
linux·服务器·arm开发·数据库·单片机
likangbinlxa4 小时前
【Oracle11g SQL详解】UPDATE 和 DELETE 操作的正确使用
数据库·sql
r i c k4 小时前
数据库系统学习笔记
数据库·笔记·学习
野犬寒鸦5 小时前
从零起步学习JVM || 第一章:类加载器与双亲委派机制模型详解
java·jvm·数据库·后端·学习
IvorySQL5 小时前
PostgreSQL 分区表的 ALTER TABLE 语句执行机制解析
数据库·postgresql·开源
·云扬·6 小时前
MySQL 8.0 Redo Log 归档与禁用实战指南
android·数据库·mysql
IT邦德6 小时前
Oracle 26ai DataGuard 搭建(RAC到单机)
数据库·oracle
惊讶的猫6 小时前
redis分片集群
数据库·redis·缓存·分片集群·海量数据存储·高并发写
不爱缺氧i6 小时前
完全卸载MariaDB
数据库·mariadb