MongoDB文档存储与插入操作详解
发布人:shili8
发布时间:2025-01-10 12:14
阅读次数:0
**MongoDB 文档存储与插入操作详解**
MongoDB 是一个流行的 NoSQL 数据库,支持文档式数据模型。它允许用户以 JSON 格式存储和检索数据。在本文中,我们将详细介绍 MongoDB 文档存储与插入操作。
### 文档存储在 MongoDB 中,每个文档都是一个 JSON 对象,它可以包含任意数量的键值对。每个键都有一个唯一的名称(称为键名),并且每个值都有一个类型(如整数、字符串或日期)。
**示例:**
json{ "_id" : ObjectId("..."), "name" : "John Doe", "age" :30, "address" : { "street" : "123 Main St", "city" : "Anytown", "state" : "CA", "zip" : "12345" } }
在上面的示例中,我们有一个文档,它包含以下键值对:
* `_id`:这是 MongoDB 自动生成的唯一标识符。
* `name`:这是一个字符串值,表示文档的名称。
* `age`:这是一个整数值,表示文档的年龄。
* `address`:这是一个嵌套文档,它包含以下键值对:
+ `street`
+ `city`
+ `state`
+ `zip`
### 插入操作在 MongoDB 中,可以使用 `insertOne()` 或 `insertMany()` 方法插入一个或多个文档。
**示例:**
javascript// 插入一个文档db.collection.insertOne({ name: "John Doe", age:30, address: { street: "123 Main St", city: "Anytown", state: "CA", zip: "12345" } }); // 插入多个文档db.collection.insertMany([ { name: "Jane Doe", age:25, address: { street: "456 Elm St", city: "Othertown", state: "NY", zip: "67890" } }, { name: "Bob Smith", age:40, address: { street: "789 Oak St", city: "Thistown", state: "IL", zip: "34567" } } ]);
在上面的示例中,我们使用 `insertOne()` 方法插入一个文档,然后使用 `insertMany()` 方法插入两个文档。
### 插入操作的选项`insertOne()` 和 `insertMany()` 方法都支持以下选项:
* `w`: 指定写入确认级别(0-1)。
* `j`: 指定 JSON 输出格式。
* `bypassDocumentValidation`: 是否跳过文档验证。
**示例:**
javascript// 使用 w=1 确认写入db.collection.insertOne({ name: "John Doe", age:30, address: { street: "123 Main St", city: "Anytown", state: "CA", zip: "12345" } }, {w:1}); // 使用 j=0 禁止 JSON 输出db.collection.insertMany([ { name: "Jane Doe", age:25, address: { street: "456 Elm St", city: "Othertown", state: "NY", zip: "67890" } }, { name: "Bob Smith", age:40, address: { street: "789 Oak St", city: "Thistown", state: "IL", zip: "34567" } } ], {j:0}); // 使用 bypassDocumentValidation=true 跳过文档验证db.collection.insertOne({ name: "John Doe", age:30, address: { street: "123 Main St", city: "Anytown", state: "CA", zip: "12345" } }, {bypassDocumentValidation: true});
在上面的示例中,我们使用 `w=1` 确认写入,然后禁用 JSON 输出。最后,我们跳过文档验证。
### 总结MongoDB 文档存储与插入操作是 MongoDB 的基本功能。在本文中,我们详细介绍了文档存储和插入操作的概念,以及相关的选项和示例代码。