1. 简介
MongoDB是一款开源的 NoSQL 数据库,支持多种语言的 API,其中比较常用的有JavaScript
和 Python
。在 MongoDB 中,可以使用 CRUD(增删改查)操作对数据进行处理。本文主要介绍 MongoDB 中的写操作。
2. 插入数据
2.1 使用 insertOne() 插入单个文档
MongoDB 中用 insertOne() 方法插入单个文档,语法格式如下:
db.collection.insertOne(
document,
options // options 参数可选,表示插入选项
)
说明:
其中,第一个参数 document 表示要插入的文档,是一个 JSON 对象;第二个参数 options 是一个可选参数,可以指定插入文档的一些选项,如是否允许插入重复的文档等。
例如,我们可以插入一个名为 "example" 的文档:
db.example.insertOne(
{ "_id": 1, "name": "John", "age": 30}
)
说明:
该语句将向 example 集合中插入一个文档,文档中包含了 "_id","name" 和 "age" 三个字段。
2.2 使用 insertMany() 插入多个文档
MongoDB 中用 insertMany() 方法插入多个文档,语法格式如下:
db.collection.insertMany(
documents,
options // options 参数可选,表示插入选项
)
说明:
其中,第一个参数 documents 表示要插入的多个文档,是一个 JSON 对象的数组;第二个参数 options 是一个可选参数,可以指定插入文档的一些选项,如是否允许插入重复的文档等。
例如,我们可以插入三个名为 "example" 的文档:
db.example.insertMany([
{ "_id": 2, "name": "Jane", "age": 25},
{ "_id": 3, "name": "Jerry", "age": 32},
{ "_id": 4, "name": "Amy", "age": 27}
])
说明:
这条语句将向 example 集合中插入三个文档。三个文档都包含 "_id","name" 和 "age" 三个字段。
3. 更新数据
3.1 使用 updateOne() 更新单个文档
MongoDB 中用 updateOne() 方法更新单个文档,语法格式如下:
db.collection.updateOne(
filter,
update,
options // options 参数可选,表示更新选项
)
说明:
其中,第一个参数 filter 表示要更新的文档的筛选条件,是一 JSON 对象;第二个参数 update 表示要更新的内容,也是一个 JSON 对象;第三个参数 options 是一个可选参数,表示更新选项,如是否允许插入一个新文档等。
例如,我们可以将 example 集合中 "name" 值为 "John" 的文档的 "age" 值更新为 32:
db.example.updateOne(
{ "name" : "John" },
{ $set: { "age": 32 } }
)
说明:
其中,$set 操作符表示更新 "age" 字段的值为 32。
3.2 使用 updateMany() 更新多个文档
MongoDB 中用 updateMany() 方法更新多个文档,语法格式如下:
db.collection.updateMany(
filter,
update,
options // options 参数可选,表示更新选项
)
说明:
其中,第一个参数 filter 表示要更新的文档的筛选条件,是一 JSON 对象;第二个参数 update 表示要更新的内容,也是一个 JSON 对象;第三个参数 options 是一个可选参数,表示更新选项,如是否允许插入一个新文档等。
例如,我们可以将 example 集合中 "age" 值为 27 的文档的 "name" 值更新为 "Tom":
db.example.updateMany(
{ "age" : 27 },
{ $set: { "name": "Tom" } }
)
说明:
其中,$set 操作符表示更新 "name" 字段的值为 "Tom"。
4. 删除数据
4.1 使用 deleteOne() 删除单个文档
MongoDB 中用 deleteOne() 方法删除单个文档,语法格式如下:
db.collection.deleteOne(
filter,
options // options 参数可选,表示删除选项
)
说明:
其中,第一个参数 filter 表示要删除的文档的筛选条件,是一 JSON 对象;第二个参数 options 是一个可选参数,表示删除选项,如是否允许删除多个文档等。
例如,我们可以删除 example 集合中 "name" 值为 "Jane" 的文档:
db.example.deleteOne(
{ "name" : "Jane" }
)
4.2 使用 deleteMany() 删除多个文档
MongoDB 中用 deleteMany() 方法删除多个文档,语法格式如下:
db.collection.deleteMany(
filter,
options // options 参数可选,表示删除选项
)
说明:
其中,第一个参数 filter 表示要删除的文档的筛选条件,是一 JSON 对象;第二个参数 options 是一个可选参数,表示删除选项,如是否允许删除多个文档等。
例如,我们可以删除 example 集合中 "age" 值大于 30 的文档:
db.example.deleteMany(
{ "age" : { $gt : 30 } }
)
说明:
其中,$gt 操作符表示 "age" 值大于 30。
5. 总结
本文介绍了 MongoDB 中的写操作,包括插入、更新和删除文档的操作。插入数据时可以使用 insertOne() 插入单个文档,也可以使用 insertMany() 插入多个文档;更新数据时可以使用 updateOne() 更新单个文档,也可以使用 updateMany() 更新多个文档;删除数据时可以使用 deleteOne() 删除单个文档,也可以使用 deleteMany() 删除多个文档。