一、NoSQL 与 MongoDB 定位
1. NoSQL 是什么
- NoSQL = Not Only SQL,不仅仅是 SQL
- 非关系型数据库统称
- 特点:
- 不要求固定表结构
- 适合海量数据(Google / Facebook 级别)
- 容易横向扩展
- 适合日志、社交、物联网、内容、缓存等场景
2. 分布式系统
- 多台计算机 + 网络 + 软件组件
- 对上层应用“像一台机器”
- MongoDB 天然支持:
- 副本集:高可用、自动故障转移
- 分片集群:水平扩展、分散大数据量
3. NoSQL 常见分类
| 类型 | 例子 | 特点 |
|---|---|---|
| 键值存储 | Redis | 超快,结构简单 |
| 列族存储 | HBase | 海量写入 |
| 文档存储 | MongoDB | JSON/BSON,最像关系库 |
| 图数据库 | Neo4j | 关系网络强 |
MongoDB = 文档型 NoSQL 数据库
二、MongoDB 核心介绍
- 用 C++ 写
- 基于分布式文件存储
- 数据格式:BSON(Binary JSON)
- 一条数据 = 一个文档:
{
"_id": 1,
"name": "张三",
"age": 20,
"hobby": ["篮球", "代码"],
"address": {
"city": "云浮",
"district": "云城区"
}
}Code language: JSON / JSON with Comments (json)
关系型 vs MongoDB
| 关系型 MySQL | MongoDB |
|---|---|
| database | database |
| table | collection |
| row | document |
| column | field |
| join | 内嵌文档 / 引用 |
MongoDB 主要特点
- 面向文档,结构灵活
- 任意字段都可建索引
- 支持副本集、分片
- 查询语言强:支持内嵌对象、数组查询
- 支持 MapReduce
- 内置 GridFS 存大文件/小文件
- 服务端可执行 JS
- 支持 Java / Python / Node / C++ / C# / PHP 等
三、Windows 安装 MongoDB 4.0.x
你给的链接:
https://fastdl.mongodb.org/win32/mongodb-win32-x86_64-2008plus-ssl-4.0.5-signed.msiCode language: JavaScript (javascript)
这个是 MongoDB 4.0.5 Windows 64 位 MSI 安装包,不是只给 Windows Server 2008 用的;2008plus-ssl 是编译目标标识。
4.0 已经很老,生产环境不建议;学习/老项目兼容可以用。
1. 安装步骤
- 双击
mongodb-win32-x86_64-2008plus-ssl-4.0.5-signed.msi - Next → 同意协议
- 安装类型:
- Complete:默认路径,新手推荐
- Custom:自定义路径,高级用户用
- Service Configuration(4.0 开始支持):
- Install MongoD as a Service
- Data Directory:
C:\ProgramData\MongoDB\data - Log Directory:
C:\ProgramData\MongoDB\log
- 取消勾选 Install MongoDB Compass(否则下载很慢)
- Install → Finish
安装完后:
C:\Program Files\MongoDB\Server\4.0\binCode language: CSS (css)
里面有:
mongod.exe:服务端mongo.exe:老版客户端(4.0 还有)mongoimport / mongoexport等工具
2. 配环境变量
把下面路径加入 PATH:
C:\Program Files\MongoDB\Server\4.0\binCode language: CSS (css)
cmd 里验证:
mongod --version
mongo --version
3. 确认是否安装成功
浏览器访问:
http://localhost:27017Code language: JavaScript (javascript)
看到:
It looks like you are trying to access MongoDB over HTTP on the native driver port.
4. 手动指定数据目录(可选)
如果不想用默认目录:
mongod --dbpath D:\mongodb\data\db --logpath D:\mongodb\log\mongod.logCode language: CSS (css)
注册成 Windows 服务:
mongod ^
--dbpath "D:\mongodb\data\db" ^
--logpath "D:\mongodb\log\mongod.log" ^
--install ^
--serviceName "MongoDB"Code language: JavaScript (javascript)
启动/停止:
net start MongoDB
net stop MongoDB
5. 配置文件方式
D:\mongodb\mongod.cfg
systemLog:
destination: file
path: D:\mongodb\log\mongod.log
logAppend: true
storage:
dbPath: D:\mongodb\data\db
journal:
enabled: true
net:
bindIp: 127.0.0.1
port: 27017Code language: CSS (css)
用配置启动:
mongod --config D:\mongodb\mongod.cfg --install
net start MongoDBCode language: CSS (css)
四、第一个 MongoDB 操作
mongo
show dbs
use test
db.users.insert({ name: "张三", age: 20 })
db.users.find()Code language: CSS (css)
Next: 初次体验