MongoDB 插入文档

栏目: mongodb 发布时间:2024-11-08

本文讲解如何在 MongoDB 中插入文档,包括 insertOne()insertMany()save() 方法。

方法一:使用 insertOne() 插入单个文档

使用 insertOne() 方法可以在指定的集合中插入一个文档。

// 选择数据库(如果数据库不存在,MongoDB 会在插入时自动创建)
use myDatabase;

// 在 myCollection 集合中插入一个文档
db.myCollection.insertOne({
    name: "Alice",
    age: 25,
    city: "New York"
});

方法二:使用 insertMany() 插入多个文档

使用 insertMany() 方法可以在指定的集合中一次性插入多个文档。

// 选择数据库
use myDatabase;

// 在 myCollection 集合中插入多个文档
db.myCollection.insertMany([
    { name: "Bob", age: 30, city: "Los Angeles" },
    { name: "Charlie", age: 35, city: "Chicago" },
    { name: "Diana", age: 28, city: "Houston" }
]);

方法三:使用 save() 插入或更新文档

使用 save() 方法可以插入一个新文档,或者在文档已存在的情况下更新它。注意,从 MongoDB 4.2 开始,save() 方法已经被标记为过时(deprecated),建议使用 insertOne()updateOne()updateMany() 方法来代替。但在旧版本的 MongoDB 中,你仍然可以使用 save()

// 选择数据库
use myDatabase;

// 尝试插入或更新一个文档
db.myCollection.save({
    _id: ObjectId("60f2b5e7f0b23f2d58b6c15e"), // 文档的唯一标识符,如果不存在则插入,如果存在则更新
    name: "Eve",
    age: 29,
    city: "San Francisco"
});

在上面的例子中,如果 _id 字段指定的文档已经存在于集合中,那么该文档将被更新为新的内容。如果不存在,则插入一个新的文档。

注意ObjectId("60f2b5e7f0b23f2d58b6c15e") 是一个示例的 ObjectId,你需要根据实际情况替换为有效的 ObjectId 或省略该字段(在插入新文档时,MongoDB 会自动生成一个新的 ObjectId)。

验证插入

无论使用哪种方法插入文档,你都可以使用 find() 方法来验证文档是否成功插入。

// 查找并格式化输出 myCollection 集合中的所有文档
db.myCollection.find().pretty();

注意事项

1、确保你插入的数据类型与你的应用程序逻辑一致。

2、根据需要创建索引以提高查询性能。

3、在生产环境中,确保 mongodb 实例的安全配置,包括认证和访问控制。

4、使用 save() 方法时要小心,因为它会在文档存在时更新它,这可能导致意外的数据更改。

本文地址:https://www.tides.cn/p_mongodb-insert-document

标签: 前端教程