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

news2024/12/23 14:39:16

目录

数据库简介

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.1
  port: 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的安装与简单使用完成,如果想了解更多数据库知识,欢迎关注我!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/340637.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何手写一个springboot starter?

本文主要分享了如何手写一个spring starter,把你的代码作为jar包进行开源。命名规则(不要使用spring-boot开头,以避免将来spring-boot官方使用你的starter而重名)官方命名格式为:spring-boot-starter-xxx非官方命名格式…

ucos-ii 的任务调度原理和实现

ucosii 任务调度和原理1、ucos-ii 任务创建与任务调度 1.1、任务的创建 当你调用 OSTaskCreate( ) 进行任务的创建的时候,会初始化任务的堆栈、保存cpu的寄存器、创建任务的控制块(OS_TCB)等的操作; if (OSTCBPrioTbl[prio] (OS_…

Python中如何书写文件路径

当程序运行时,变量是保存数据的好方法,但变量、序列以及对象中存储的数据是暂时的,程序结束后就会丢失,如果希望程序结束后数据仍然保持,就需要将数据保存到文件中。Python 提供了内置的文件对象,以及对文件…

数据库 delete 表数据后,磁盘空间为什么还是被一直占用?

插: 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 坚持不懈,越努力越幸运,大家一起学习鸭~~~ 最近有个上位机获取下位机上报数据的项目&#xff0c…

计算机网络6:Http协议

目录HTTP1.基本概念1.1.1 URI2. 请求和响应报文2.1.请求报文2.2.响应报文3.HTTP报文实现细节3.1响应头主要字段3.2HTTP状态码3.3 HTTP方法3.3.1 GET方法3.3.2 HEAD3.3.3 POST3.3.4 PUT3.3.5 PATCH3.3.6 DELETE3.3.7 OPTIONS3.3.8 CONNECT3.4 HTTP首部(头部&#xff…

【MT7628】开发环境搭建-Fedora12安装之后无法上网问题解决

1.按照如下图所示,打开Network Connections 2.点击Network Connections,弹出如下界面

面向对象程序(C++)设计基础

一、类&对象C 在 C 语言的基础上增加了面向对象编程,C 支持面向对象程序设计。类是 C 的核心特性,通常被称为用户定义的类型。类提供了对象的蓝图,所以基本上,对象是根据类来创建的。声明类的对象,就像声明基本类型…

面试题(二十二)消息队列与搜索引擎

2. 消息队列 2.1 MQ有什么用? 参考答案 消息队列有很多使用场景,比较常见的有3个:解耦、异步、削峰。 解耦:传统的软件开发模式,各个模块之间相互调用,数据共享,每个模块都要时刻关注其他模…

Grafana 系列文章(十五):Exemplars

Exemplars 简介 Exemplar 是用一个特定的 trace,代表在给定时间间隔内的度量。Metrics 擅长给你一个系统的综合视图,而 traces 给你一个单一请求的细粒度视图;Exemplar 是连接这两者的一种方式。 假设你的公司网站正经历着流量的激增。虽然…

ansible的模块详解

ansible 的概述 什么是ansible Ansible是一款为类Unix系统开发的自由开源的配置和自动化工具。 它用Python写成,类似于saltstack和Puppet,但是有一个不同和优点是我们不需要在节点中安装任何客户端。 它使用SSH来和节点进行通信。Ansible基于 Python…

Redux 源码分析

Redux 目录结构 redux ├─ .babelrc.js ├─ .editorconfig ├─ .gitignore …

列线图工具_Nomogram

定义 列线图是一种相对传统的分析方法,用于展示自变量和因变量的线性关系,及其特征的重要程度。 现在用SHAP,和机器学习库中的 Feature importance 工具可以实现类似甚至更好效果。不过很多传统的研究领域比较认这种方法。 列线图工具建立在…

什么是相机标定

1. 相机标定的定义及作用 相机标定是指借助标定板来计算单个或多个相机的内参、外参和镜头畸变参数。 作用: 将畸变的图像恢复为正常的图像,为后续进行拼接、SLAM等奠定基础。 多相机标定可以将所有相机输出变换到同一个坐标系。 相机标定是三维视觉…

适用于 Windows 11/10/8/7 的 10 大数据恢复软件分享

适用于 Windows 11/10/8/7 的 最佳数据恢复软件综述。选择首选的专业数据/文件恢复软件,轻松恢复丢失的数据或删除的照片、视频等文件、SSD、外接硬盘、USB、SD卡等存储设备中的文件等。流行的sh流行的数据恢复软件也包括在内。 10 大数据恢复软件分享 为了帮助您恢…

美赛Day2

3 熵权法 相对客观的权重计算方法(层次分析法都是自己瞎填) 3.1 原理 指标的变异程度越小,反应的信息越少,对应的权值越低。 一个事件的信息量:I(x) -ln(p(x)) 信息熵:对X可能发生的所有情况的信息量的…

仿真与测试:通过Signal Builder模块生成输入信号

本文研究通过Signal Builder模块生成输入信号的方法。 文章目录1 生成输入信号2 仿真过程2.1 搭建被测模型2.2 搭建Signal Builder输入模块2.3 配置仿真log及仿真3 总结1 生成输入信号 在汽车的电控软件开发中,经常会在Simulink模型内部进行单元测试。单元测试的本…

FlexRay™ 协议控制器 (E-Ray)-04

网络管理 累积的网络管理 (NM) 向量位于网络管理寄存器 1 到网络管理寄存器 3 (NMVx (x = 1-3)) 中。【The accrued Network Management (NM) vector is located in the Network Management Register 1 to Network Management Register 3 (NMVx (x = 1-3)).】 网络管理向量 x…

『前端必备』本地数据接口—json-server

文章目录前言一、json-server简介二、起步三、使用步骤前言 Ajax 是前端必学的一个知识点,但刚接触 Ajax 的同学可能会因为没接口测试而烦恼。本文 入门篇 会花你10分钟解决 没接口测试 这个烦恼,而且不需要你具备后端知识。 一、json-server简介 json…

一个测试人员,在现阶段的环境下如何在测试行业发展和自我价值。

前言周末和几个测试圈子里的大佬饭局上聊了一些职场和测试职业发展相关的话题,我将聊天的内容做了整理和阐述。。朋友圈有测试同学对这篇文章提了比较深刻的建议,下面是他的评价和建议:评价:据说是大佬饭桌总结,有两点…

【论文精读】Deep Residual Learning for Image Recognition

1 Degradation Problem💦 深度卷积神经网络在图像分类方面取得了一系列突破。深度网络自然地将低/中/高级特征和分类器以端到端的多层方式集成在一起,特征的“层次”可以通过堆叠层数(深度)来丰富。最近的研究揭示了网络深度是至关重要的,在具…