实用指南:Windows安装MongoDB保姆级教程(图文详解)

news/2025/11/13 20:56:58/文章来源:https://www.cnblogs.com/gccbuaa/p/19219537

前言

MongoDB是一个基于分布式文件存储的文档型数据库,是一个介于关系数据库和非关系数据库之间的产品。作为NoSQL数据库的典型代表,MongoDB采用了独特的数据存储方式:
在这里插入图片描述

MongoDB的数据结构特点

文档型存储模式

MongoDB使用 文档(Document) 作为基本的数据存储单元,这些文档以 BSON(Binary JSON) 格式存储,类似于JSON对象。每个文档可以包含不同的字段和数据类型,具有很高的灵活性。

数据组织层次结构

数据库(Database)↓
集合(Collection)↓
文档(Document)↓
字段(Field)
  • 数据库(Database):最高层级的容器,一个MongoDB实例可以包含多个数据库
  • 集合(Collection):类似于关系数据库中的"表",用于存储相关的文档
  • 文档(Document):类似于关系数据库中的"行",是实际的数据记录
  • 字段(Field):类似于关系数据库中的"列",是文档中的键值对

与关系数据库的对比

关系数据库MongoDB
数据库(Database)数据库(Database)
表(Table)集合(Collection)
行(Row)文档(Document)
列(Column)字段(Field)
主键(Primary Key)_id字段

文档示例

// 用户集合中的一个文档
{
"_id": ObjectId("507f1f77bcf86cd799439011"),
"name": "张三",
"age": 25,
"email": "zhangsan@example.com",
"address": {
"city": "北京",
"district": "朝阳区",
"street": "建国路100号"
},
"hobbies": ["读书", "游泳", "编程"],
"createTime": ISODate("2024-01-15T08:30:00Z")
}

MongoDB的优势特点

  1. 模式灵活:同一集合中的文档可以有不同的结构
  2. 嵌套数据:支持嵌套文档和数组,减少表连接操作
  3. 水平扩展:天然支持分片和副本集
  4. 查询丰富:支持复杂的查询、索引和聚合操作
  5. 高性能:针对读写操作进行了优化

本教程将详细介绍如何在Windows系统上安装和配置MongoDB,包括可视化工具的使用和开机自启动设置,让您快速掌握这个强大的文档型数据库的使用方法。

一、MongoDB下载与安装

1.1 下载MongoDB

访问MongoDB官方网站:https://www.mongodb.com/try/download/community
首先点击Select package
在这里插入图片描述
选择适合的版本:

  • Version:选择最新稳定版本(如8.0.x)
  • Platform:选择Windows
  • Package:选择msi(推荐)

点击"Download"按钮开始下载
在这里插入图片描述

1.2 安装MongoDB

双击下载的.msi文件启动安装程序,点击"Next"继续
在这里插入图片描述
接受许可协议,勾选"I accept the terms in the License Agreement",点击"Next"
在这里插入图片描述

选择安装类型:

  • Complete:完整安装(推荐)
  • Custom:自定义安装

在这里插入图片描述

服务配置

  • 勾选"Install MongoDB as a Service"
  • Service Name:保持默认"MongoDB"
  • Data Directory:数据存储目录(可自定义)
  • Log Directory:日志存储目录(可自定义)

配置完成后点击"Next"
在这里插入图片描述
勾选"Install MongoDB Compass",点击"Next"
在这里插入图片描述

点击"Install"开始安装
在这里插入图片描述
安装完成后点击"Finish"

在这里插入图片描述

二、环境变量配置

2.1 添加MongoDB到系统PATH

通过设置打开环境变量
在这里插入图片描述
在系统变量中找到"Path",点击"编辑"
在这里插入图片描述
点击"新建",添加MongoDB的bin目录路径:

C:\Program Files\MongoDB\Server\8.2\bin

点击"确定"保存设置

在这里插入图片描述

2.2 验证是否生效

打开命令提示符(以管理员身份运行),输入以下命令验证MongoDB是否安装成功:

mongod --version

在这里插入图片描述
启动MongoDB服务

net start MongoDB

在这里插入图片描述

三、MongoDB Compass可视化工具使用

由于在安装MongoDB时已经勾选了"Install MongoDB Compass",所以可视化工具已经自动安装完成。

3.1 启动MongoDB Compass

在开始菜单中找到"MongoDB Compass"并启动

在这里插入图片描述

3.2 连接到本地MongoDB

启动后点击Add new connection添加一个新的连接
在这里插入图片描述
点击Save & Connect保存并连接
在这里插入图片描述
连接成功
在这里插入图片描述

四、创建数据库和集合

创建一个新的数据库
在这里插入图片描述

输入数据库名称和集合名称:

  • Database Name: myDatabase
  • Collection Name: users

点击"Create Database"完成创建
在这里插入图片描述
在集合中添加文档,点击"INSERT DOCUMENT"

在这里插入图片描述
输入JSON格式的数据后点击Insert新增

{
"name": "张三",
"age": 25,
"email": "zhangsan@example.com"
}

在这里插入图片描述
添加文档成功
在这里插入图片描述

五、常用配置文件设置

5.1 配置文件位置

MongoDB配置文件通常位于:

C:\Program Files\MongoDB\Server\8.2\bin\mongod.cfg

5.2 常用配置项

# 数据存储配置
storage:
dbPath: C:\data\db
journal:
enabled: true
# 网络配置
net:
port: 27017
bindIp: 127.0.0.1
# 日志配置
systemLog:
destination: file
logAppend: true
path: C:\data\log\mongod.log

六、常见问题解决

6.1 服务启动失败

如果MongoDB服务启动失败,可能的原因和解决方案:

  1. 数据目录不存在

  2. 端口被占用

    netstat -ano | findstr :27017

6.2 连接失败

如果无法连接到MongoDB:

  1. 确认服务是否正在运行:

    sc query MongoDB
  2. 检查防火墙设置

  3. 验证连接字符串是否正确

6.3 权限问题

如果遇到权限问题:

  1. 以管理员身份运行相关程序
  2. 检查数据目录的读写权限
  3. 确保MongoDB服务有足够的权限

总结

通过本教程的详细指导,我们成功完成了MongoDB在Windows系统上的完整安装和配置过程。从官方网站下载安装包开始,到配置环境变量、使用MongoDB Compass可视化工具进行数据库操作,再到解决常见问题,整个流程涵盖了MongoDB使用的核心要点。MongoDB作为一个功能强大的NoSQL数据库,其灵活的文档存储模式和直观的可视化管理界面,为开发者提供了高效的数据管理解决方案。掌握这些基础配置和操作技能,将为后续的数据库开发和管理工作奠定坚实的基础。

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

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

相关文章

linux USB --- 监听 USB 角色

#include <linux/device.h> #include <linux/module.h> #include <linux/mutex.h> #include <linux/gpio/consumer.h> #include <linux/platform_device.h> #include <linux/usb/typ…

温州工友自动包装设备有限公司:专注螺丝五金智能包装,助力企业降本增效

在温州乐清电器之都,有一家深耕螺丝五金自动化包装设备领域多年的企业 —— 温州工友自动包装设备有限公司。该公司技术研发始于 2007 年,经过多年积累与沉淀,于 2011 年正式注册成立,如今已发展成为集研发生产、销…

25.11.09

CF1935F 如果代价都能做到 1,那就再好不过了。 尝试一下,发现一个子树总有最小值 \(x\),那么连接 \((x,x-1)\) 看起来就做完了。 但是可能 \(x-1\) 被删了,这样就挂了,需要连 \((x,x-2)\)。 然后发现 \((x,x-2)\)…

NOI2025 游记

Day -? UNR。两场应该都认真打了。但是一题不会,打了六个暴力喜提 rk 130 Ag。事后看来这可能掉了 RP。 D2T1 订了一下午。我怎么一点不会数数。 Day -1 报到日。 徽章订了不少,但是我真的太社恐了。跟着 winston 去…

NOIP 考前做题计划

11月14号 复习蓝书上的 \(0x06\) 和 \(0x07\) 节,重新思考 \(0x08\) 内这两节的习题,并为代码写注释 11月15号 上午打洛谷模拟赛,晚上复习蓝书上 \(0x11\) 节,并做当节习题以及 \(0x18\) 节对应的习题 11月16号 复…

网络攻防实战 lab06 靶机 VulnHub hard-socnet2

地址发现 arp-scan -l得到地址为 10.0.2.8。 端口发现与服务版本探测 nmap -p- nmap -p22,80 -sC -sV

[豪の学习笔记] Spring框架学习碎碎念#5

主动获取Bean对象、Bean的作用域、第三方Bean管理跟学视频:黑马JavaWeb课程 Bean管理 获取Bean ​ 默认情况下,SpringBoot项目在启动的时候会自动的创建IOC容器(也称为Spring容器),并且在启动的过程当中会自动的将b…

Docker部署Code-Server,实现远程写代码

Docker部署Code-Server,实现远你不需要在自己的电脑上安装任何复杂的工具,只需要一个浏览器,就可以开始 C、C++ 和 Python 的学习与开发。参考:使用 Docker 部署 VS Code in The Browser - 谱次 - 博客园 hub.dock…

2025 年 11 月电力金具厂家最新推荐,精准检测与稳定性能深度解析!

全球电力系统对核心部件稳定性的依赖度持续攀升,电力金具的质量与性能直接影响输电网络安全。本次 2025 年 11 月电力金具厂家推荐榜单,由国际电力设备检测协会(IPTA)联合全球三大电力工程机构共同发布,测评覆盖全…

2025 年 11 月铁附件厂家最新推荐,聚焦资质、案例、售后的五家企业深度解读!

随着电力工程、光伏发电及基础设施建设领域的全球化推进,铁附件作为核心配套产品,其品质与供应效率对工程质量的影响愈发显著。为精准筛选优质铁附件厂家,本次推荐结合国际电力设备协会(IEPEA)2025 年第三季度测评…

LucaOne模型的词汇表系统

https://github1s.com/lucaone/LucaOne/blob/master/src/models/alphabet.py#L1-L205 通过定义词汇表,就能输入蛋白质或者DNA。 这段代码定义了 LucaOne模型的词汇表系统(Alphabet类),是模型处理不同生物分子序列的核…

v4l2用户侧使用流程

前言 v4l2的用户侧使用方法的简单demo,参考:media/v4l/v4l2grab.c 实际上,v4l2的用户侧有libv4l开源库。用户可以使用此开源库快速搭建其用户侧代码。 流程 int main() {// openfd = v4l2_open("/dev/video0&q…

2025 年终端数据安全软件公司推荐数篷科技(深圳)有限公司,数据安全领域的坚实力量

在数字化浪潮席卷全球的当下,数据已然成为企业的核心资产,其安全防护至关重要。随着 AI、云计算等新兴技术的广泛应用,数据安全面临着前所未有的挑战,如数据泄露、非法访问等风险日益加剧。在此背景下,一款可靠的…

Day37(7)-F:\硕士阶段\Java\课程代码\后端\web-ai-code\web-ai-project01\springboot-web-01

HTTP状态码大全 https://cloud.tencent.com/developer/chapter/13553package com.itheima;import jakarta.servlet.http.HttpServletResponse; import org.springframework.http.ResponseEntity; import org.springfra…

网络协议工程 - eNSP及相关软件安装 - [eNSP, VirtualBox, WinPcap, Wireshark, Win7] - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

20232314 2025-2026-1 《网络与系统攻防技术》实验五实验报告

一、实验内容从www.besti.edu.cn、baidu.com、sina.com.cn中选择一个DNS域名进行查询,获取信息。 尝试获取BBS、论坛、QQ、MSN中某一好友的IP地址,并查询获取该好友所在的具体地理位置。 使用nmap开源软件对靶机环境…

深度学习实验一之图像特征提取和深度学习训练数据标注 - 实践

深度学习实验一之图像特征提取和深度学习训练数据标注 - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Cons…

题解:ABC232G Modulo Shortest Path

由于 \(\forall i,a_i < m,b_i < m\),所以可能的边权要么是 \(a_i+b_j\),要么是 \(a_i+b_j-m\),下文简称其为一类边和二类边。 暴力建图太浪费了,发现与一个 \(a_i\) 的连边是二类边的 \(b_j\) 的值单调不减…

如何在 Mac 上安装 MySQL 8.0.20.dmg(从下载到使用全流程,附安装包)

如何在 Mac 上安装 MySQL 8.0.20.dmg(从下载到使用全流程,附安装包)​手把手教你如何通过 .dmg 安装包安装 MySQL 8.0.20 数据库。一、下载安装包(如果你还没下) 安装包下载:https://pan.quark.cn/s/459eb1a02c4…

题解:P3791 普通数学题

考虑做类似数位 dp 的东西。 首先把 \(n,m\) 各加一,限制转换为 \(i<n,j<m\)。 套路地枚举 \(i,j\) 和 \(n,m\) 二进制下第一个不同的位置,则更低位就可以任取了。不难发现这个时候 \(i \operatorname{xor} j …