This commit is contained in:
2021-11-14 15:52:46 +08:00
parent 915c231124
commit 1e344dc204
112 changed files with 1039 additions and 1039 deletions

View File

@@ -7,8 +7,8 @@ tags: ["mongodb"]
categories: ["database"]
---
# 数据迁移
## 导出集合数据到 json 或 csv 文件
## 数据迁移
### 导出集合数据到 json 或 csv 文件
- 命令
```
mongoexport -d dbname -c collectionname -o file --type json/csv -f "field1,field2,...,fieldN"
@@ -20,7 +20,7 @@ categories: ["database"]
- --type 输出格式,默认 json
- -f 输出字段,如果导出 csv需指定字段名
## 导入数据到集合
### 导入数据到集合
- 命令
```
mongoimport -d dbname -c collectionname --file filename --headerline --type json/csv -f "field1,field2,...,fieldN"
@@ -33,7 +33,7 @@ categories: ["database"]
- --headerline 导入csv时使用第一行的标题作为导入字段
- --file 导入的文件
## 备份数据库
### 备份数据库
- 命令
```
mongodump -h dbhost -d dbname -o backup_dir
@@ -43,7 +43,7 @@ categories: ["database"]
- -d 数据库名
- -o 备份数据存放目录,需提前建立
## 恢复数据库
### 恢复数据库
- 命令
```
mongorestore -h dbhost -d dbname --dir backup_dir
@@ -55,28 +55,28 @@ categories: ["database"]
--drop 恢复前,先删除当前数据
# 操作数据库
## 操作数据库
- 默认数据库 test
- 创建 use dbname
- 查看当前选择的数据库 db
- 查看数据库列表 show dbs不显示空数据库
- 删除数据库 use dbname; db.dropDatabase()
# 操作集合
## 创建
## 操作集合
### 创建
```
db.createCollection("集合名", {capped:false, autoIndexId:false, size:最大字节, max:文档最多数量})
# 或者在插入文档时自动创建
## 或者在插入文档时自动创建
db.集合名.inert({})
```
## 删除
### 删除
```
db.集合名.drop()
```
# 操作文档
## insert
## 操作文档
### insert
- 插入一个文档
```
db.集合名.insert({})
@@ -90,7 +90,7 @@ db.集合名.drop()
db.集合名.insertMany([{},{},{},...,{}])
```
## find
### find
- 查询匹配的文档
```
db.集合名.find({}).pretty()
@@ -124,7 +124,7 @@ db.集合名.drop()
db.集合名.find({}).sort({"key":1})
```
## update
### update
- 更新一个文档
```
db.集合名.update({},{$set:{}})
@@ -134,12 +134,12 @@ db.集合名.drop()
db.集合名.update({},{$set:{},{multi:true}})
```
## save
### save
```
db.集合名.save({,...})
```
## remove
### remove
- 删除多条记录
```
db.集合名.remove({})
@@ -153,19 +153,19 @@ db.集合名.save({,...})
db.集合名.remove()
```
## 索引
### 索引
- 创建索引1升序-1降序
```
db.集合名.createIndex({"key1":1,"key2":-1})
```
## 聚合
### 聚合
```
db.集合名.aggregate([{}])
```
# 用户
## 创建用户
## 用户
### 创建用户
- 管理员权限
```
use admin
@@ -189,23 +189,23 @@ db.集合名.aggregate([{}])
)
```
## 验证身份
### 验证身份
```
db.auth("username", "password")
```
## 列出所有用户
### 列出所有用户
```
db.getUsers()
```
## 删除数据库用户
### 删除数据库用户
```
use testdb
db.dropUser("username")
```
## 更改用户密码
### 更改用户密码
```
db.updateUser(
"username",