MongoDB 入门指南:安装、配置与 Navicat 连接教程

由于最近在开发一个新的项目(学习的项目),之前一直用的MySQL,这次准备采用 MySQL + MongoDB 一起使用,也就有了今天这篇博客,带你入门了解学会简单使用 MongoDB

一、MongoDB 简介

1.什么是NoSQL?

传统关系型数据库遵循ACID规则,即 A (Atomicity) 原子性 ,C (Consistency) 一致性,

I (Isolation) 独立性 ,D (Durability) 持久性 。

NoSQL,指的是非关系型的数据库。NoSQL有时也称作Not Only SQL的缩写,是对不同于传统的关系型数据库的数据库管理系统的统称。

NoSQL用于超大规模数据的存储。(例如谷歌或Facebook每天为他们的用户收集万亿比特的数据)。这些类型的数据存储不需要固定的模式,无需多余操作就可以横向扩展。

2.MongoDB

MongoDB 是一个基于分布式文件存储的开源数据库系统,由 C++ 语言编写,旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。它属于NoSQL 数据库以 BSON(二进制 JSON)格式存储数据,支持灵活的文档模型,无需预定义表结构,非常适合快速迭代的应用开发。

MongoDB使用集合(Collections)来组织文档(Documents),每个文档都是由键值对组成的。

  • 数据库(Database):存储数据的容器,类似于关系型数据库中的数据库。
  • 集合(Collection):数据库中的一个集合,类似于关系型数据库中的表。
  • 文档(Document):集合中的一个数据记录,类似于关系型数据库中的行(row),以 BSON 格式存储。

MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成,文档类似于 JSON 对象,字段值可以包含其他文档,数组及文档数组:

特别适合聊天场景:MongoDB作为文档数据库,非常适合存储聊天这种半结构化数据,尤其对消息正文、附件URL、表情包等内容的灵活存储。

高性能读写:聊天系统需要高频读写,MongoDB的高性能特性可以支撑大量并发操作

水平扩展能力:随着用户增加,聊天数据会快速增长,MongoDB的分片功能支持水平扩展

二、MongoDB 安装教程

官网下载地址: Download MongoDB Community Server | MongoDB

选择自己对应的系统来进行安装

下面这里如果是普通用户,追求简单快捷安装,选 Complete(完整安装) ,会装所有功能,省事儿,就是占磁盘空间多些;要是进阶用户,想自定义安装组件、选安装路径,就选 Custom(自定义安装) ,能按需配置 。按需求选好点 "Next" 继续安装流程就行,另外注意 Mongo Shell 得单独装,有 "Download Now" 可点 。

我们选自定义安装

这里我装到 D 盘去了

现在,出现了两个选择:您可以以网络服务用户身份运行 MongoDB,也可以以本地或域用户身份运行它。

如果您需要简单性和基本功能,网络服务用户选项就可以了,如果您需要对权限进行更多控制,或者需要使用特定用户凭据访问和限制资源,则选择本地或域用户选项会更合适

若只是个人开发、测试环境,或不想额外管理本地用户,这里我们选网络账户,第一个。

接下里一路next ,install 就完事了。

这里选择新建连接

在弹出的连接配置窗口,默认会自动填充 mongodb://localhost:27017

  • Name:给连接起个名字(比如 "本地 MongoDB"),方便后续识别。
  • Color:选个颜色标记连接(非必须)。
  • Favorite this connection:勾选后会固定在连接列表顶部(方便常用连接)。

从当前 MongoDB Compass 界面来看,连接已成功啦,显示了 adminconfiglocal 这些 MongoDB 默认数据库 ,这说明 Compass 已成功连接到 MongoDB 服务。

三、MongoDB 基础配置

1.配置文件介绍

MongoDB 的配置文件默认位于:

  • Windows:C:\Program Files\MongoDB\Server\版本号\bin\mongod.cfg
  • Linux/macOS:/etc/mongod.conf

当然我刚才安装到 D盘去了,这里我的路径是这个

简单介绍一下这些配置文件,有需要自己去修改,配置文件使用 YAML 格式,主要配置项包括:

  • net.port:服务端口(默认 27017)
  • net.bindIp:绑定的 IP 地址(默认 127.0.0.1,即只允许本地访问)
  • storage.dbPath:数据存储路径
  • systemLog.path:日志文件路径
  • security.authorization:是否启用身份验证(默认 disabled)

2.启用远程访问

默认情况下,MongoDB 只允许本地访问。如果需要从远程连接,需要修改配置文件:

  1. 打开配置文件 mongod.conf
  2. 找到 net.bindIp 配置项,修改为:
XML 复制代码
net:
  port: 27017
  bindIp: 0.0.0.0  # 允许所有 IP 访问,生产环境建议指定具体 IP

3.启动/停止服务

这里介绍一种方式,通过命令行(以管理员权限运行 CMD/PowerShell )

  1. 启动服务
    输入 net start MongoDB ("MongoDB" 是服务名,若安装时自定义过,需填实际名称 )。
  2. 停止服务
    输入 net stop MongoDB

测试了一下也是完全没有问题哈,不过默认应该是开机自己启动的

Navicat 是一款流行的数据库管理工具,支持多种数据库类型,包括 MongoDB。它提供直观的图形界面,方便用户管理数据库、执行查询和操作数据。

由于之前MySQL就一直 用的 Navicat,这里我就不下载其他MongoDB的图形化工具了,接着用Navicat 了。

1.创建 MongoDB 连接

因为我们是本地的,所以选这个 MongoDB 即可

下面这里稍微解释一下这些选项

  1. 连接名称

自定义一个好记的名字,比如 "本地 MongoDB 连接""MongoDB 测试环境" 等,方便后续区分不同连接,随意填你觉得直观的名称就行。

  1. 类型

保持默认的 "Standalone" 即可,这是用于连接单节点 MongoDB 实例的类型,适合本地安装的常规 MongoDB 环境(如果是集群等复杂部署,才需要选其他类型,新手入门用 Standalone 没问题 )。

  1. SRV 记录

一般不用勾选,SRV 记录主要用于 MongoDB Atlas 等云服务通过域名自动发现节点的场景,本地连接直接跳过。

  1. 主机

如果 MongoDB 是装在自己电脑本地,填 localhost 或者 127.0.0.1 都可以;要是 MongoDB 部署在其他服务器上,填对应服务器的 IP 地址(比如公司内网 IP 或云服务器公网 IP )。

5.端口

保持默认的 27017 ,这是 MongoDB 的默认服务端口,除非你安装时特意修改了端口,否则不用变。

  1. 验证
  • 如果没设置 MongoDB 账号密码:选 "None" ,直接连就行,适合本地刚装、还没配置权限的情况。
  • 如果设置了账号密码 :选 "SCRAM - SHA - 1" 或 "SCRAM - SHA - 256"(看你 MongoDB 配置的认证方式 ),然后会出现用户名、密码的填写项,填上对应的账号密码,"数据库" 那里填认证库(通常是 admin 库,如果你在创建用户时指定了其他认证库就填对应的 )。

可以看到已经测试连接成功了,左侧也显示了我的连接

五、MongoDB 基本操作

由于我也不是很了解这个的语法,就用navicat 图形化工具 直接创建了

1.右键新建数据库

2.新建集合

右键,新建集合,名称以及键 什么 的先不用管,然后直接保存,创建集合就完成了。

六、总结

通过本文,你已经了解了 MongoDB 的基本概念、安装配置方法,以及如何使用 Navicat 进行图形化管理。MongoDB 的灵活文档模型和强大的查询能力使其成为现代应用开发的理想选择。

如果你想更详细了解MongDB 的话,可以去自行学习....

相关推荐
why1516 小时前
微服务商城-商品微服务
数据库·后端·golang
柒间6 小时前
Elasticsearch 常用操作命令整合 (cURL 版本)
大数据·数据库·elasticsearch
远方16098 小时前
18-Oracle 23ai JSON二元性颠覆传统
数据库·oracle·json
jllllyuz9 小时前
如何为服务器生成TLS证书
运维·服务器·数据库
伍六星10 小时前
Flask和Django,你怎么选?
数据库·django·flask
杜哥无敌10 小时前
ORACLE 修改端口号之后无法启动?
数据库·oracle
远方160910 小时前
0x-4-Oracle 23 ai-sqlcl 25.1.1 独立安装-配置和优化
数据库·ci/cd·oracle
远方160911 小时前
0x-3-Oracle 23 ai-sqlcl 25.1 集成安装-配置和优化
数据库·ide·ai·oracle
喵叔哟12 小时前
第1章:Neo4j简介与图数据库基础
数据库·oracle·neo4j