简介
MongoDB 是一种 NoSQL 数据库,它使用文档结构来存储数据。不同于关系型数据库中严格的表结构,MongoDB 中的数据可以具有动态的模式,允许在同一集合中存储具有不同字段的数据。因此,在 MongoDB 中建表与关系型数据库中创建表有很大不同。
创建集合
在 MongoDB 中,表称为“集合”。创建集合可以通过以下步骤:
连接到数据库:
使用命令 `mongo ` 连接到 MongoDB 数据库。
创建集合:
使用命令 `db.createCollection("collection_name")` 创建集合。例如:```
mongo test
db.createCollection("users")
```
添加文档
文档是 MongoDB 存储数据的基本单元。要向集合中添加文档,可以使用以下步骤:
插入文档:
使用命令 `db.collection_name.insertOne()` 插入单个文档。
批量插入文档:
使用命令 `db.collection_name.insertMany([, , ...])` 批量插入多个文档。例如:```
db.users.insertOne({ name: "John Doe", age: 30 })
```
索引
索引可以提高 MongoDB 查询的性能。在集合上创建索引可以通过以下步骤:
创建索引:
使用命令 `db.collection_name.createIndex({ : })` 创建索引。
索引方向:
指定索引方向,如升序 (1) 或降序 (-1)。例如:```
db.users.createIndex({ name: 1 })
```
模式验证
MongoDB 允许用户对集合定义模式验证,以确保写入数据的正确性。模式验证可以通过以下步骤定义:
启用模式验证:
使用命令 `db.collection_name.validator.validate()` 启用模式验证。
定义模式:
使用命令 `db.collection_name.validator={ }` 定义模式验证表达式。例如:```
db.users.validator={ $jsonSchema: {bsonType: "object",required: ["name", "age"],properties: {name: {bsonType: "string",minLength: 1},age: {bsonType: "int",minimum: 0}}}
}
```
**简介**MongoDB 是一种 NoSQL 数据库,它使用文档结构来存储数据。不同于关系型数据库中严格的表结构,MongoDB 中的数据可以具有动态的模式,允许在同一集合中存储具有不同字段的数据。因此,在 MongoDB 中建表与关系型数据库中创建表有很大不同。**创建集合**在 MongoDB 中,表称为“集合”。创建集合可以通过以下步骤:* **连接到数据库:**使用命令 `mongo ` 连接到 MongoDB 数据库。
* **创建集合:**使用命令 `db.createCollection("collection_name")` 创建集合。例如:```
mongo test
db.createCollection("users")
```**添加文档**文档是 MongoDB 存储数据的基本单元。要向集合中添加文档,可以使用以下步骤:* **插入文档:**使用命令 `db.collection_name.insertOne()` 插入单个文档。
* **批量插入文档:**使用命令 `db.collection_name.insertMany([, , ...])` 批量插入多个文档。例如:```
db.users.insertOne({ name: "John Doe", age: 30 })
```**索引**索引可以提高 MongoDB 查询的性能。在集合上创建索引可以通过以下步骤:* **创建索引:**使用命令 `db.collection_name.createIndex({ : })` 创建索引。
* **索引方向:**指定索引方向,如升序 (1) 或降序 (-1)。例如:```
db.users.createIndex({ name: 1 })
```**模式验证**MongoDB 允许用户对集合定义模式验证,以确保写入数据的正确性。模式验证可以通过以下步骤定义:* **启用模式验证:**使用命令 `db.collection_name.validator.validate()` 启用模式验证。
* **定义模式:**使用命令 `db.collection_name.validator={ }` 定义模式验证表达式。例如:```
db.users.validator={ $jsonSchema: {bsonType: "object",required: ["name", "age"],properties: {name: {bsonType: "string",minLength: 1},age: {bsonType: "int",minimum: 0}}}
}
```