当前位置: 首页 > news >正文

MongoDB--》MongoDB数据库以及可视化工具的安装与使用—保姆级教程

目录

数据库简介

MongoDB数据库的安装

MongoDB数据库的启动

MongoDB数据库环境变量的配置

MongoDB图形化管理工具


数据库简介

在使用MongoDB数据库之前,我们应该要知道我们使用它的原因

在数据库当中,有常见的三高需求:

High performance:对数据库高并发读写的需求。

Huge Storage:对海量数据的高效率存储和访问的需求。
High Scalability && High Availability:对数据库的高可扩展性和高可用性的需求。

在数据库当中特定的具体的应用场景:

社交场景、游戏场景、物流场景、物联网场景、视频场景等。在这些应用场景中,数据操作方面的共同特点是:数据量大、写入操作频繁、价值较低的数据,对事务性要求不高。

传统的关系型数据库(如MySQL)在数据操作的 “三高” 需求以及应对Web2.0的网站场景需求面前显得力不从心,对于这种情况我们更适合使用 MongoDB 来实现数据的存储。

选择MongoDB的合适时机

应用不需要事务及复杂join支持
新应用,需求会变,数据模型无法确定,想快速迭代开发

应用需要2000-3000以上的读写QPS(更高也可以)
应用需要TB甚至PB级别数据存储
应用要求存储的数据不丢失
应用需要99.999%高可用
应用需要大量的地理位置查询、文本查询

上述场景使用MySQL数据库也是可以完成的,但是相对MongoDB来说,可以以更低的成本解决问题(包括学习、开发、运维等成本)。

MongoDB数据库简介

MongoDB是一个开源、高性能、无模式的文档型数据库,当初的设计就是用于简化开发和方便扩展,是NoSQL数据库产品中的一种。是最像关系型数据库(MySQL)的非关系型数据库。

MongoDB支持的数据结构非常松散,是一种类似于JSON的格式叫BSON,所以它既可以存储比较复杂的数据类型,又相当的灵活。MySQL与MongoDB数据库对比如下:

MongoDB中的记录是一个文档,它是一个由字段和值对(field:value)组成的数据结构。MongoDB文档类似于JSON对象,即一个文档认为就是一个对象。字段的数据类型是字符型,它的值除了使用基本的一些类型外,还可以包括其他文档、普通数组和文档数组。相关概念比较如下:

SQL术语/概念MongoDB术语/概念解释/说明
databasedatabase数据库
tablecollection数据库表/集合
rowdocument数据库记录行/文档
columnfield数据库字段/域
indexindex索引
table joins表连接,MongoDB不支持
嵌入文档MongoDB通过嵌入式文档来替代多表连接
primary keyprimary key

主键,MongoDB自动将 _id 字段设置为主键

MongoDB的特点:高性能、高可用性、高扩展性、丰富的查询支持

MongoDB数据库的安装

点击官方链接:https://www.mongodb.com/ ,然后点击 Products -> Community Edition,如下:

根据自己的需要进行安装,如下:

版本选择

MongoDB的版本命名规范如:x、y、z
y为奇数时表示当前版本为开发版,如:1.5.2、4.1.13

y为偶数时表示当前版本为稳定版,如:1.6.3、4.0.10

z是修正版本号,数字越大越好。

安装选择

msi:需要自己安装,里面的相关配置可以自己自定义。

zip:解压缩即可使用。

这里我就选择zip的方式进行下载,如下安装完成之后,解压缩完成即可:

在解压的目录中,手动建立一个目录用于存放数据文件,如:data/db (通常命名方式)

MongoDB数据库的启动

MongoDB数据库服务启动有以下两种方式:

命令行参数方式启动服务

我们进入 bin 目录,cmd进入命令行窗口,输入以下命令回车:

# 路径是相对于bin目录的相对路径
mongod --dbpath=..\data\db

启动之后,可以看到默认的地址和端口

在浏览器上输入  localhost:27017 ,如果出现以下界面说明 MongoDB 启动成功:

配置文件方式启动服务

在解压目录中新建 config 文件夹,该文件夹中新建配置文件 mongod.conf,内容参考如下:

storage:# 指定存放数据文件的全路径dbPath: D:\programming\MongoDB\mongodb-win32-x86_64-windows-6.0.4\data\db

配置完成之后,按照如下命令进行启动,仍能启动成功:

mongod -f ..\conf\mongodb.conf
# 或者
mongod --config ..\conf\mongodb.conf

更多配置信息可参考如下,或者官网: 官网 。

systemLog:destination: file# 指定日志存放文件path: 自己的路径logAppend: true
storage:journal:enabled: true# 指定存放数据文件的全路径dbPath: 自己的路径
net:bindIp: 127.0.0.1port: 27020
setParameter:enableLocalhostAuthBypass: false

配置本地 Windows MongoDB 方式设置服务

虽然上面两种方式都能开启服务,但是终端是不能关闭的,有没有办法能够将终端关掉然后服务仍然存在,如果想关闭在自行关闭即可,答案是有的,如下:

在data文件夹下新建文件夹 log (用来存放日志文件)

在bin同级目录下新建配置文件 mongo.config,并用记事本打开输入以下两条命令,如下:

dppath=D:\programming\MongoDB\mongodb-win32-x86_64-windows-6.0.4\data\db
logpath=D:\programming\MongoDB\mongodb-win32-x86_64-windows-6.0.4\data\log\mongo.log

用管理员身份打开cmd,然后切到 bin 文件地址,输入以下命令,命令中的 “MongoDB” 就是之后启动 MongoDB 服务的名字。

mongod -dbpath "D:\programming\MongoDB\mongodb-win32-x86_64-windows-6.0.4\data\db" -logpath "D:\programming\MongoDB\mongodb-win32-x86_64-windows-6.0.4\data\log\mongo.log" -install -serviceName "MongoDB"

配置完成之后,就可以使用命令来进行启动或关闭服务,如下:

# 开启服务
NET start MongoDB
# 关闭服务
NET stop MongoDB

ok,这样配置完是不是很简单,输入简单的命令就可以开启或关闭服务。

MongoDB数据库环境变量的配置

我们在使用MangoDB数据库的时候,可以先配置一下环境变量,避免后期会有一些问题的出现:

鼠标右键 我的电脑(此电脑) - 属性 - 高级系统设置 再选择 环境变量,如下:

点击编辑,然后把 MongoDB 的 bin 目录路径粘贴上去,如下:

MongoDB图形化管理工具

使用MongoDB数据库可以使用两种方式进行操作,如下:

使用 Shell 命令进行连接

注意:从6版本以后,MongoDB6不再默认安装shell工具--------Mongosh。如果需要可自行安装,ok,这里我自行安装给大家展示一下,点击安装shell的下载地址:下载地址 。

点击下载zip格式,然后解压缩得到如下文件:

bin目录下的有两个文件:mongosh.exe 文件和 mongosh_crypt_v1.dll 文件,复制这2个文件到刚刚安装MongoDB路径下的bin文件里面。如下:

至此,shell工具安装完成,我们在MongoDB数据库服务开启的状态下,win+r输入cmd,在当前终端输入 mongod,弹出以下内容后,说明我们工具安装成功,且环境变量配置成功。

继续输入mongosh,弹出以下内容后继续输入show dbs ,如下: 

ok,从现在开始你就可以操作数据库了。

使用 图像化工具 进行连接

图形化管理工具极大的方便了数据库的操作与管理,常用的图形化管理工具有很多,官方为该数据库提供的图像化工具是 Compass ,因为博主之间是玩 MySQL数据库的,个人使用的图形化工具是Navicat Preminum,个人也是极其推荐,其界面简洁功能清楚、对于新手来说易学易用,并且支持中文。其官方下载链接为:Navicat 。注意,这个工具是收费的,有免费试用14天,如果想永久使用的话,联系博主,博主会提供有效方法帮助你!

如何想使用图像化界面工具去操作数据库的话,如下选择相应的数据库:

点击之后,配置参数,点击测试连接,如下:

连接参数介绍

stand alone:独立的;shard cluster:分片集群;replica set:复制集

连接直接默认即可,一般情况下,我们连接只需要连接主库查数据,所以选择独立的这个连接方式就可以,填写好常规参数可以点击测试连接是否正常,即可连接!

因为是个人测试嘛,使用的是本地的localhost

出现如下界面说明连接成功,我们直接点击确定即可。

进入之后,我们可以点击新建查询来看看当前的数据库有多少个库,如下:

可以看看一些操作,如下:

至此,MangoDB的安装与简单使用完成,如果想了解更多数据库知识,欢迎关注我!!!

相关文章:

MongoDB--》MongoDB数据库以及可视化工具的安装与使用—保姆级教程

目录 数据库简介 MongoDB数据库的安装 MongoDB数据库的启动 MongoDB数据库环境变量的配置 MongoDB图形化管理工具 数据库简介 在使用MongoDB数据库之前,我们应该要知道我们使用它的原因: 在数据库当中,有常见的三高需求: Hi…...

JAVA 基础题

1. 面向对象有哪些特征?答:继承、封装、多态2. JDK与JRE的区别是什么?答:JDK是java开发时所需环境,它包含了Java开发时需要用到的API,JRE是Java的运行时环境,JDK包含了JRE,他们是包含…...

Flutter desktop端多屏幕展示问题处理

目前越来越多的人用Flutter来做桌面程序的开发,很多应用场景在Flutter开发端还不是很成熟,有些场景目前还没有很好的插件来支持,所以落地Flutter桌面版还是要慎重。 下面来说一下近期我遇到的一个问题,之前遇到一个需要双屏展示的…...

每天10个前端小知识 【Day 9】

👩 个人主页:不爱吃糖的程序媛 🙋‍♂️ 作者简介:前端领域新星创作者、CSDN内容合伙人,专注于前端各领域技术,成长的路上共同学习共同进步,一起加油呀! ✨系列专栏:前端…...

Elasticsearch的读写搜索过程

问题 Elasticsearch在读写数据的过程是什么样的?你该如何理解这个问题! Elasticsearch的写数据过程 客户端选择一个节点发送请求,这个时候我们所说的这个节点就是协调节点(coordinating node)协调节点对document进行了路由&am…...

线上服务质量的问题该如何去处理?你有什么思路?

线上服务质量的问题该如何去处理?你有什么思路? 目录:导读 发现线上故障 处理线上故障 修复线上故障 运营线上质量 就是前几天有个同学问了我一个问题:目前业内高可用部署主要采用方案? 看到这个问题&#xff0c…...

IOC 配置,依赖注入的三种方式

xml 配置 顾名思义,就是将bean的信息配置.xml文件里,通过Spring加载文件为我们创建bean。这种方式出现很多早前的SSM项目中,将第三方类库或者一些配置工具类都以这种方式进行配置,主要原因是由于第三方类不支持Spring注解。 优点…...

自动机,即有限状态机

文章目录一、问题来源二、题目描述三、题解中的自动机四、自动机学习五、有限状态机的使用场景一、问题来源 今天做力克题目的时候看到了字符串转换整数的一道算法题,其中又看到了题解中有自动机的概念,所以在这里对自动机做个笔记。题目链接 二、题目描…...

第一部分:简单句——第一章:简单句的核心——二、简单句的核心变化(主语/宾语/表语的变化)

二、简单句的核心变化 简单句的核心变化其实就是 一主一谓(n. v.) 表达一件事情,谓语动词是其中最重要的部分,谓语动词的变化主要有四种:三态加一否(时态、语态、情态、否定),其中…...

VSCode Markdown写作引入符合规范的参考文献

Markdown可以用来写论文,写论文的时候无一例外要用到参考文献,今天来谈谈怎么自动生成参考文献。之前讲了怎么导出的pdf,文章在这里 VSCode vscode-pandoc插件将中文Markdown转换为好看的pdf文档(使用eisvogel模板) …...

电子学会2022年12月青少年软件编程(图形化)等级考试试卷(四级)答案解析

目录 一、单选题(共15题,共30分) 二、判断题(共10题,共20分) 三、编程题(共3题,共50分) 青少年软件编程(图形化)等级考试试卷(四级) 一、单选题(共15题,共30分) 1. 运行下列程序…...

JUC并发编程学习笔记(一)——知识补充(Threadlocal和引用类型)

强引用、弱引用、软引用、虚引用 Java执行 GC(垃圾回收)判断对象是否存活有两种方式,分别是引用计数法和引用链法(可达性分析法)。 **引用计数:**Java堆中给每个对象都有一个引用计数器,每当某个对象在其它地方被引用时,该对象的…...

2022级上岸浙理工MBA的复试经验提炼和备考建议

在等待联考成绩出来的那段时间,虽然内心很忐忑,但还是为复试在积极的做准备,虽然也进行了估分大概有201分,但成绩和分数线没下来之前,只能尽量多做些一些准备把。因为笔试报了达立易考的辅导班,对于浙江理工…...

人大金仓数据库索引的应用与日常运维

索引的应用 一、常见索引及适应场景 BTREE索引 是KES默认索引,采用B树实现。 适用场景 范围查询和优化排序操作。 不支持特别长的字段。 HASH索引 先对索引列计算一个散列值(类似md5、sha1、crc32),然后对这个散列值以顺序…...

20230211英语学习

Six Lifestyle Choices to Slow Memory Decline 研究发现,生活方式真能帮助记忆“抗衰”? A combination of healthy lifestyle choices such as eating well, regularly exercising, playing cards and socialising at least twice a week may help sl…...

5G图书推荐

无线通信专业书籍推荐 1.无线通信原理:基于MATLAB的实践,作者:李珊,出版社:清华大学出版社 2.无线通信系统:原理、设计与应用,作者:肖宇,出版社:电子工业出版…...

【Linux下代码调试工具】gdb 的基本使用

gdb的基本使用前言准备gdb工具调试须知gdb的基本指令进入调试退出调试显示代码及函数内容运行程序给程序打断点查看断点位置断点使能取消断点逐过程调试逐语句调试运行到下一个断点查看变量的值变量值常显示取消变量值常显示前言 在主页前面的几篇文章已经介绍了Vim编辑器及Ma…...

UART和RS232、RS485的联系和区别、以及对软件编程的影响

1、串口、UART、RS232、RS485概念的理解 (1)狭义上的串口:指的是串口协议,就是时序图、数据收发先后顺序等,是抽象出来的协议; (2)广义上的串口:指的是符合串口协议的接口,UART、RS232、RS485在实际工作中都…...

ajax是什么?咋实现的

创建交互式网页应用的网页开发技术 再不重新加载整个网页的前提下,与服务器交换数据并且更新部分内容 简单来说就是无页面刷新的数据交互 通过创建xmlhttprequest对象向服务器异步发送请求从而获取数据,然后操作dom更新内容 1,创建xmlhttpr…...

AI推理计算框架中的内存优化

背景 内存管理是AI计算中非常重要的一部分。我们希望模型计算时占用内存尽可能小,这样我们训练或推理时就可以用更大的batch size使其尽快收敛,或者提高吞吐率。又或者让我们可以使用参数更多、或更复杂的模型从而达到更好的准确率。由于现代深度学习模…...

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道(多模态 OCR → 语义检索 → 答案渲染)、两级检索(倒排 BM25 向量 HNSW)并以大语言模型兜底”的整体框架: 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后,分别用…...

51c自动驾驶~合集58

我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留,CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制(CCA-Attention),…...

PHP和Node.js哪个更爽?

先说结论,rust完胜。 php:laravel,swoole,webman,最开始在苏宁的时候写了几年php,当时觉得php真的是世界上最好的语言,因为当初活在舒适圈里,不愿意跳出来,就好比当初活在…...

.Net框架,除了EF还有很多很多......

文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...

分布式增量爬虫实现方案

之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面,避免重复抓取,以节省资源和时间。 在分布式环境下,增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路:将增量判…...

【数据分析】R版IntelliGenes用于生物标志物发现的可解释机器学习

禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍流程步骤1. 输入数据2. 特征选择3. 模型训练4. I-Genes 评分计算5. 输出结果 IntelliGenesR 安装包1. 特征选择2. 模型训练和评估3. I-Genes 评分计…...

Spring是如何解决Bean的循环依赖:三级缓存机制

1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间‌互相持有对方引用‌,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...

WebRTC从入门到实践 - 零基础教程

WebRTC从入门到实践 - 零基础教程 目录 WebRTC简介 基础概念 工作原理 开发环境搭建 基础实践 三个实战案例 常见问题解答 1. WebRTC简介 1.1 什么是WebRTC? WebRTC(Web Real-Time Communication)是一个支持网页浏览器进行实时语音…...

协议转换利器,profinet转ethercat网关的两大派系,各有千秋

随着工业以太网的发展,其高效、便捷、协议开放、易于冗余等诸多优点,被越来越多的工业现场所采用。西门子SIMATIC S7-1200/1500系列PLC集成有Profinet接口,具有实时性、开放性,使用TCP/IP和IT标准,符合基于工业以太网的…...

Unity中的transform.up

2025年6月8日,周日下午 在Unity中,transform.up是Transform组件的一个属性,表示游戏对象在世界空间中的“上”方向(Y轴正方向),且会随对象旋转动态变化。以下是关键点解析: 基本定义 transfor…...