mongodb的写操作

1. 简介

MongoDB是一款开源的 NoSQL 数据库,支持多种语言的 API,其中比较常用的有JavaScriptPython。在 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() 删除多个文档。

数据库标签