【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文件,会自动在桌面以及开始菜单多出相应的快捷方式,方便下次运行

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

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

相关推荐
CoderIsArt1 小时前
Redis的三种模式:主从模式,哨兵与集群模式
数据库·redis·缓存
师太,答应老衲吧3 小时前
SQL实战训练之,力扣:2020. 无流量的帐户数(递归)
数据库·sql·leetcode
Channing Lewis4 小时前
salesforce case可以新建一个roll up 字段,统计出这个case下的email数量吗
数据库·salesforce
毕业设计制作和分享5 小时前
ssm《数据库系统原理》课程平台的设计与实现+vue
前端·数据库·vue.js·oracle·mybatis
ketil275 小时前
Redis - String 字符串
数据库·redis·缓存
Hsu_kk6 小时前
MySQL 批量删除海量数据的几种方法
数据库·mysql
编程学无止境6 小时前
第02章 MySQL环境搭建
数据库·mysql
knight-n6 小时前
MYSQL库的操作
数据库·mysql
包饭厅咸鱼7 小时前
QML----复制指定下标的ListModel数据
开发语言·数据库
生命几十年3万天8 小时前
redis时间优化
数据库·redis·缓存