node.js 实战——mongoDB

MongoDB

MongoDB 简介

MongoDB 是一种基于文档型 (document-oriented) 的 NoSQL 数据库,使用类 JSON 的 BSON 格式存储数据,自然支持复杂数据结构。它特别适合需要快速变化、大量数据处理和高应用扩展性的场景。

MongoDB 特性:

  • 无法表、无结构;自由结构定义
  • 支持快速查询和复杂查询语句
  • 支持高性能完整的缓存机制
  • 大规模分片与副本集综合高可用性

MongoDB 架构说明

MongoDB 使用分片(Sharding)和副本集(Replica Set)的方式,保证高性能和高可用性。

MongoDB 架构图

组件说明:

  • Client:客户端,发起数据操作请求
  • Mongos:分片路由器,分发请求至相应分片
  • Shard:分片节点,存储实际数据
  • Primary / Secondary:主节点和备份节点,维持数据高可用性
  • Config Server:管理分片配置和元数据

✅MongoDB在32位系统的支持情况

  • MongoDB 3.2 及之前版本:
    支持 32 位系统(Windows、Linux)。
  • MongoDB 3.4 开始(2016年后):
    官方彻底停止支持 32 位系统,只支持 64 位系统。

📌 注意

即使是旧版本(比如 3.0 或更早)在 32 位系统上跑,也有严重限制:

  • 单个数据库最大只有 2GB。
  • 适合做开发测试,不适合生产环境。
  • 运行性能非常受限。

官方明确建议:

"在 32 位平台上部署 MongoDB 只推荐用于开发、学习,不适用于生产用途。"

🛠 如果你必须在 32 位系统上用 MongoDB

你只能安装 MongoDB 3.2 或更低版本,比如:

  • MongoDB 2.6.x
  • MongoDB 3.0.x

并且,需要自己找老版本下载:

  • 官方归档下载页面:MongoDB Download Center --- Archive

MongoDB 在 Windows 上安装

MongoDB的版本偶数版本为稳定版,奇数版本为开发版

下载 MongoDB

访问 MongoDB 官网下载页面,选择 Windows 版本,下载 MSI 安装包。

运行安装程序

  • 双击进行安装,按照默认配置点击 "Complete"
  • 选择 "Install MongoDB as a Service" (默认)
  • 设置数据文件夹:
    • 数据路径:C:\Program Files\MongoDB\Server\6.0\data\db
    • 日志路径:C:\Program Files\MongoDB\Server\6.0\log\mongod.log

配置环境变量

  • 添加路径:
    • 如:C:\Program Files\MongoDB\Server\6.0\bin

启动 MongoDB 服务

打开 CMD:

bash 复制代码
net start MongoDB

或手动启动 mongod:

bash 复制代码
mongod --dbpath="C:\\Program Files\\MongoDB\\Server\\6.0\\data\\db"

MongoDB 在 macOS 上安装

使用 Homebrew 安装

先确认 Homebrew 已安装:

bash 复制代码
brew --version

安装 MongoDB

注:MongoDB 没有直接上 Homebrew Core,需要加入 Tap

bash 复制代码
brew tap mongodb/brew
brew install mongodb-community@6.0

启动服务

bash 复制代码
brew services start mongodb-community@6.0

手动启动

如果不使用服务,手动启动:

bash 复制代码
mongod --config /usr/local/etc/mongod.conf

验证 MongoDB 是否正常运行

打开第二个窗口:

bash 复制代码
mongo

显示进入终端即为成功!

相关推荐
boonya5 分钟前
Redis核心原理与面试问题解析
数据库·redis·面试
沙二原住民17 分钟前
提升数据库性能的秘密武器:深入解析慢查询、连接池与Druid监控
java·数据库·oracle
三毛200427 分钟前
玳瑁的嵌入式日记D33-0908(SQL数据库)
jvm·数据库·sql
叫我龙翔36 分钟前
【MySQL】从零开始了解数据库开发 --- 库的操作
数据库·mysql·数据库开发
没有bug.的程序员1 小时前
Redis Stream:轻量级消息队列深度解析
java·数据库·chrome·redis·消息队列
GottdesKrieges1 小时前
OceanBase容量统计:租户、数据库、表大小
数据库·oceanbase
pan3035074791 小时前
mysql 回表查询(二次查询,如何检查,如何规避)
数据库·mysql
Michaelwubo2 小时前
elasticsearch-7.17.29 集群案例,k8s方式和原始方式
数据库
TDengine (老段)2 小时前
TDengine 选择函数 Last() 用户手册
大数据·数据库·sql·物联网·时序数据库·tdengine·涛思数据
little_xianzhong2 小时前
关于对逾期提醒的定时任务~改进完善
java·数据库·spring boot·spring·mybatis