Module 02 · Introducing MongoDB: An Open-Source NoSQL Database
CRUD OperationsMongoDB CRUD 操作简介
欢迎观看关于 MongoShell 和 CRUD 操作 的介绍视频。通过本视频,您将能够使用 MongoShell 连接到您的 MongoDB 数据库并执行基本的 CRUD 操作。
MongoShell 概述
MongoShell 是 MongoDB 提供的一个交互式命令行工具,用于与数据库进行交互。它是一个 JavaScript 接口,可以用来执行数据和管理操作。
首先,您需要通过提供连接字符串连接到集群。一旦连接成功,您就可以查看所有数据库的列表。
连接到 Campus Management 数据库
连接到 MongoDB 实例后,使用以下命令开始工作:
use CampusManagement
这将选择 Campus Management 数据库,并使用以下命令查看数据库中有哪些集合:
show collections
输出将显示 staff 和 students 两个集合。
CRUD 操作
创建操作(Create)
CRUD 操作包括 创建、读取、更新 和 删除 四个基本操作。我们从创建操作开始:
db.students.insertOne({
name: "John Doe",
email: "johndoe@example.com",
status: "on-campus"
})
此操作会将一个新的文档插入到 students 集合中,并返回操作确认结果。MongoDB 会自动为文档添加 _id 字段,这是每个文档必需的。
如果我们要插入多个文档,可以使用 insertMany 方法:
db.students.insertMany([
{ name: "Jane Doe", email: "janedoe@example.com", status: "online" },
{ name: "Mike Smith", email: "mikesmith@example.com", status: "on-campus" }
])
读取操作(Read)
- 查询一个文档:
db.students.findOne()
这将返回 students 集合中的第一个文档。
- 按特定条件查询文档:
db.students.findOne({ email: "johndoe@example.com" })
如果有多个文档符合条件,只有第一个文档会被返回。
- 查询所有符合条件的文档:
db.students.find({ lastName: "Doe" })
- 统计符合条件的文档数量:
db.students.count({ lastName: "Doe" })
更新操作(Update)
- 替换文档:
db.students.replaceOne(
{ lastName: "Doe" },
{ name: "John Doe", email: "newemail@example.com", status: "online" }
)
此操作将替换符合条件的文档,并返回操作确认信息。
- 使用
$set更新文档:
db.students.updateOne(
{ lastName: "Doe" },
{ $set: { status: "online" } }
)
这将仅更新指定字段而不是替换整个文档。
- 批量更新多个文档:
db.students.updateMany(
{ status: "on-campus" },
{ $set: { status: "online" } }
)
删除操作(Delete)
- 删除一个文档:
db.students.deleteOne({ lastName: "Doe" }) - 删除多个文档:
db.students.deleteMany({ status: "online" })
这些操作将返回一个确认信息,包括删除的文档数量。
总结
通过本视频,您学习了:
- MongoShell 是一个交互式命令行工具,您可以用它连接到 MongoDB 数据库并执行 CRUD 操作。
- 使用
show dbs列出数据库,使用use选择数据库,使用show collections显示集合。 - CRUD 操作 包括:insertOne、insertMany、findOne、find、count、replaceOne、updateOne、updateMany、deleteOne 和 deleteMany。
- 不同的操作会返回不同的确认信息,帮助您了解操作是否成功。