MongoDB下载安装

MongoDB

  1. MongoDB是一种基于文档的非关系型(NoSQL)数据库,数据存储在灵活的JSON文档中,便于快速查询和索引。

二、MongoDB下载

  1. **官网下载**:
  1. **其他下载方式**:

三、MongoDB安装

  1. **启动MongoDB服务**:
  • **MongoDB 3.x版本**:安装后需手动启动服务。

```bash

mongod --dbpath 数据库路径

```

  • **MongoDB 4.x版本**:默认安装为系统服务,开机自动启动。

  • Windows环境下,可通过以下命令查看服务状态:

```bash

services.msc

```

找到"MongoDB Server (MongoDB)"服务并启动。

四、MongoDB配置

  1. **配置环境变量**:
  • 将MongoDB的`bin`目录路径(如`C:\Program Files\MongoDB\Server\4.4\bin`)添加到系统环境变量`PATH`中。

  • 配置完成后,重启电脑以生效。

  • 验证安装:

```bash

mongod --version

```

  1. **账户权限配置**:
  • **默认模式**:安装后默认为非授权模式,无需验证即可操作数据库。

  • **创建管理员账户**:

```javascript

mongo 127.0.0.1:27017

use admin

db.createUser({

user: "root",

pwd: "xxxxxx",

roles: ["root"]

})

```

  • **创建普通用户**:

```javascript

mongo 127.0.0.1:27017

db.auth("root", "xxxxxx")

use mydbs

db.createUser({

user: "username",

pwd: "abc666",

roles: [

{ role: "dbOwner", db: "mydbs" }

]

})

```

  1. **修改配置文件**:
  • 配置文件路径:`mongodb安装目录\bin\mongod.cfg`

  • 开启权限验证:

```yaml

security:

authorization: enabled

```

  • 修改后需重启MongoDB服务。

五、MongoDB常用命令

  1. **查看数据库**:

```javascript

show dbs

```

  1. **切换/创建数据库**:

```javascript

use 数据库名

```

  1. **查看当前数据库中的集合**:

```javascript

show collections

```

  1. **查看集合中的数据**:

```javascript

db.集合名.find().pretty()

```

  1. **创建集合**:

```javascript

db.集合名.insert({字段: 值})

```

  1. **删除数据库**:

```javascript

db.dropDatabase()

```

  1. **备份与恢复**:
  • **备份**:

```bash

mongodump -h localhost --port 27017 -u 用户名 -p 密码 -db 数据库名 -o 备份路径

```

  • **恢复**:

```bash

mongorestore -h localhost --port 27017 -u 用户名 -p 密码 --db 数据库名 --authenticationDatabase admin --drop 恢复路径

```

六、MongoDB数据模型设计

  1. **文档模型**:
  • 数据以JSON文档形式存储,支持嵌套和数组。

  • 示例:

```json

{

"name": "张三",

"age": 28,

"hobbies": ["读书", "旅游", "编程"]

}

```

  1. **关系设计**:
  • **内嵌文档**:适合一对一或多对一关系。

  • **引用文档**:适合多对多关系,使用`$lookup`进行关联查询。

相关推荐
数据知道19 小时前
MongoDB的Oplog:MongoDB 数据同步的核心机制
数据库·mongodb
数据知道20 小时前
MongoDB:如何将读请求分流到从节点,减轻主节点压力(读偏好)
数据库·mongodb
小冯不疯1 天前
金蝶云星空与钉钉系统无缝对接方案
mongodb
数据知道1 天前
MongoDB复制集部署实战:三节点集群搭建完整步骤详解
数据库·mongodb
@atweiwei1 天前
MySQL vs MongoDB 深度对比(底层存储数据结构与并发控制篇)
数据结构·数据库·后端·sql·mysql·mongodb·个人开发
z20348315201 天前
17届蓝桥杯嵌入式赛道开发板外设使用教程——按键、蜂鸣器、LCD屏幕
mongodb·职场和发展·蓝桥杯
爬山算法1 天前
MongoDB(32)如何查看集合中的索引?
数据库·mongodb
数据知道1 天前
MongoDB复制集架构原理:Primary、Secondary 与 Arbiter 的角色分工
数据库·mongodb·架构
修行者Java1 天前
(七)从 “非结构化数据难存储” 到 “MongoDB 灵活赋能”——MongoDB 实战进阶指南
数据库·mongodb
数据知道2 天前
MongoDB 读写关注设置:一致性与性能的黄金平衡法则
数据库·mongodb