当前位置: 首页 > 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使其尽快收敛,或者提高吞吐率。又或者让我们可以使用参数更多、或更复杂的模型从而达到更好的准确率。由于现代深度学习模…...

css实现圆环展示百分比,根据值动态展示所占比例

代码如下 <view class""><view class"circle-chart"><view v-if"!!num" class"pie-item" :style"{background: conic-gradient(var(--one-color) 0%,#E9E6F1 ${num}%),}"></view><view v-else …...

云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地

借阿里云中企出海大会的东风&#xff0c;以**「云启出海&#xff0c;智联未来&#xff5c;打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办&#xff0c;现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...

Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件

今天呢&#xff0c;博主的学习进度也是步入了Java Mybatis 框架&#xff0c;目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学&#xff0c;希望能对大家有所帮助&#xff0c;也特别欢迎大家指点不足之处&#xff0c;小生很乐意接受正确的建议&…...

全球首个30米分辨率湿地数据集(2000—2022)

数据简介 今天我们分享的数据是全球30米分辨率湿地数据集&#xff0c;包含8种湿地亚类&#xff0c;该数据以0.5X0.5的瓦片存储&#xff0c;我们整理了所有属于中国的瓦片名称与其对应省份&#xff0c;方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...

学校招生小程序源码介绍

基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码&#xff0c;专为学校招生场景量身打造&#xff0c;功能实用且操作便捷。 从技术架构来看&#xff0c;ThinkPHP提供稳定可靠的后台服务&#xff0c;FastAdmin加速开发流程&#xff0c;UniApp则保障小程序在多端有良好的兼…...

从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)

设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile&#xff0c;新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...

DBAPI如何优雅的获取单条数据

API如何优雅的获取单条数据 案例一 对于查询类API&#xff0c;查询的是单条数据&#xff0c;比如根据主键ID查询用户信息&#xff0c;sql如下&#xff1a; select id, name, age from user where id #{id}API默认返回的数据格式是多条的&#xff0c;如下&#xff1a; {&qu…...

第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词

Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵&#xff0c;其中每行&#xff0c;每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid&#xff0c;其中有多少个 3 3 的 “幻方” 子矩阵&am…...

Unity | AmplifyShaderEditor插件基础(第七集:平面波动shader)

目录 一、&#x1f44b;&#x1f3fb;前言 二、&#x1f608;sinx波动的基本原理 三、&#x1f608;波动起来 1.sinx节点介绍 2.vertexPosition 3.集成Vector3 a.节点Append b.连起来 4.波动起来 a.波动的原理 b.时间节点 c.sinx的处理 四、&#x1f30a;波动优化…...

蓝桥杯 冶炼金属

原题目链接 &#x1f527; 冶炼金属转换率推测题解 &#x1f4dc; 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V&#xff0c;是一个正整数&#xff0c;表示每 V V V 个普通金属 O O O 可以冶炼出 …...