MongoDB 插入文档
本文讲解如何在 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