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

显示进入终端即为成功!

相关推荐
TDengine (老段)34 分钟前
TDengine taosAdapter — 多协议网关详解
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据
Nturmoils34 分钟前
SQL Server 迁移到 KingbaseES:一次复杂 BI 查询的性能实测
数据库
今天AI了吗1 小时前
MCP 协议打通 AI 与国产数据库,SQL 调优全流程一站式闭环
数据库·人工智能·sql
灯澜忆梦2 小时前
【MySQL11】进阶篇 | 索引_#3使用规则
数据库·sql·mysql·性能优化
名字还没想好☜2 小时前
Go 的 sync.Cond 实战:用条件变量做等待/通知,比忙轮询省 CPU
开发语言·数据库·后端·golang·go
wWYy.2 小时前
Mysql:有哪些锁?
数据库·mysql
李可以量化2 小时前
Tornado 从了解到精通(一)下:异步与非阻塞 IO 核心原理
java·数据库·tornado
VALENIAN瓦伦尼安教学设备3 小时前
ASHOOTER激光对中仪如何通过颜色确定调整是否合适
数据库·嵌入式硬件·算法
Wang's Blog3 小时前
AI Agent白手起家58: 项目可观测性——用 LangSmith 实现全链路追踪
数据库·人工智能
SL_staff4 小时前
JVS数字底座实践:如何复用企业文档能力快速构建知识类应用
java·数据库·程序员