MongoDB 入门教程
5 分钟上手:第一个 CRUD 全流程
本教程共 50 篇 · 第 6 篇 · 更新于 2026-07-30 · 约 7 分钟阅读
MongoDBMongoDB 入门教程CRUDinsertOnefindupdateOne
6. 5 分钟上手:第一个 CRUD 全流程
本节目标:用统一的 users 集合,照着敲一遍增删改查,建立对 MongoDB 基本操作的直觉。
6.1 先准备好示例数据
本教程统一用 users 集合做演示,结构如下:
users:{ _id, name, email, age, city, tags: [], registered_at }
先插入两条数据。注意这里用整数 _id 是为了示例清晰,真实项目多让 MongoDB 自动生成 ObjectId(见数据类型章节)。
// 建示例数据:两条用户
db.users.insertMany([
{
_id: 1,
name: "张伟",
email: "zhangwei@example.com",
age: 28,
city: "北京",
tags: ["vip", "gamer"],
registered_at: ISODate("2024-01-15")
},
{
_id: 2,
name: "李娜",
email: "lina@example.com",
age: 34,
city: "上海",
tags: ["new"],
registered_at: ISODate("2024-03-22")
}
])
test> db.users.insertMany([ ... ])
{
acknowledged: true,
insertedIds: [ 1, 2 ]
}
6.2 Create:插入
上面已经用过 insertMany。单条插入用 insertOne:
// 新增一条用户
db.users.insertOne({
_id: 3,
name: "王芳",
email: "wangfang@example.com",
age: 22,
city: "广州",
tags: ["new", "vip"],
registered_at: ISODate("2024-05-01")
})
6.3 Read:查询
find() 是最常用的查询。不传条件就是查全部:
// 查全部,pretty() 让输出更好看
db.users.find().pretty()
按条件查,比如找北京的:
// 查 city 等于 "北京" 的用户
db.users.find({ city: "北京" }).pretty()
Tip
pretty()不是必须,但终端里加上它,内嵌文档会缩进显示,看着舒服很多。
6.4 Update:更新
updateOne 改第一条匹配的记录。用 $set 指定要改的字段:
// 把 _id=1 的用户年龄改成 29
db.users.updateOne(
{ _id: 1 },
{ $set: { age: 29 } }
)
test> db.users.updateOne({ _id: 1 }, { $set: { age: 29 } })
{ acknowledged: true, matchedCount: 1, modifiedCount: 1 }
6.5 Delete:删除
deleteOne 删第一条匹配的记录:
// 删掉 _id=3 的用户
db.users.deleteOne({ _id: 3 })
test> db.users.deleteOne({ _id: 3 })
{ acknowledged: true, deletedCount: 1 }
6.6 跑完一遍之后
到这里,增删改查四个动作你都亲手试过了。后续章节会把每个动作拆开讲细:插入的返回值、查询的运算符、更新的各种修饰符。
Warning示例里用了固定
_id,重复插入相同_id会报重复键错误(E11000)。后面批量插入章节会专门讲这件事。