下面是MongoDB对Document的插入、删除及更新的完整攻略。
插入Document
MongoDB插入Document的语法为:
db.collection.insert(document)
其中,db.collection
是指要插入Document的collection名称,document
是一条Document。
在插入Document时,如果该collection不存在,则会自动创建该collection并插入Document。如果该collection已经存在,则直接插入Document。
以下是插入一条Document的示例:
### 示例1
假如我们有一个名为students的collection,要插入一条学生信息的Document,包含name、age、gender和score四个字段,如下:
- name: 小明
- age: 18
- gender: 男
- score: 85
则可以使用如下命令插入该Document:
db.students.insert({"name": "小明", "age": 18, "gender": "男", "score": 85})
执行上述命令后,MongoDB会返回一个类似如下信息:
WriteResult({ "nInserted" : 1 })
表示插入成功,并且在students collection中插入了一条Document。
### 示例2
假如要插入多条Document,可以使用insertMany()方法,语法如下:
db.collection.insertMany(
[
{
writeConcern:
}
)
以下是一个插入多条Document的示例:
db.students.insertMany([
{"name": "小红", "age": 19, "gender": "女", "score": 90},
{"name": "小刚", "age": 20, "gender": "男", "score": 88},
{"name": "小丽", "age": 18, "gender": "女", "score": 92}
])
这样就可以一次性插入多条Document了。
删除Document
MongoDB删除Document的语法为:
db.collection.deleteOne(filter, options)
db.collection.deleteMany(filter, options)
其中,db.collection
是要删除Document的collection名称,filter
是指要删除的Document的条件(可以是任何符合查询语法的条件)。
使用deleteOne()
方法可以删除匹配过滤器条件的第一条Document;使用deleteMany()
方法可以定位并删除所有匹配过滤器条件的Document。
以下是删除Document的示例:
### 示例1
假如我们有一个名为students的collection,要删除性别为男性的Document,可以使用如下命令:
db.students.deleteMany({"gender": "男"})
执行上述命令后,MongoDB会返回一个类似如下信息:
WriteResult({ "nRemoved" : 2 })
表示删除成功,并且移除了两条gender为男的Document。
### 示例2
假如需要删除所有Document,可以使用`deleteMany()`方法并将一个空过滤器作为其参数:
db.collection.deleteMany({})
执行上述命令后,所有Document都将被删除。
更新Document
MongoDB更新Document的语法为:
db.collection.updateOne(filter, update, options)
db.collection.updateMany(filter, update, options)
其中,db.collection
是要更新Document的collection名称,filter
是指要更新的Document的条件(可以是任何符合查询语法的条件),update
是指更新Document所需的新数据,options
是指更新选项。一旦找到匹配条件的Document,MongoDB使用update()方法将指定内容的数据更新为新数据。
使用updateOne()
方法可以更新匹配过滤器条件的第一条Document;使用updateMany()
方法可以更新所有匹配过滤器条件的Document。
以下是更新Document的示例:
### 示例1
假如我们有一个名为students的collection,要将数据库中所有性别为女性的Document中的分数加10分,可以使用如下命令:
db.students.updateMany({"gender": "女"}, {"$inc": {"score": 10}})
执行上述命令后,MongoDB会返回一个类似如下信息:
WriteResult({ "nModified" : 2 })
表示更新成功,并且更新了两条gender为女的Document中的分数。
### 示例2
假如要替换Document中的所有内容,可以使用`replaceOne()`方法:
db.collection.replaceOne(
{
upsert:
writeConcern:
}
)
以下是一个替换Document的示例:
db.students.replaceOne({"name": "小红"}, {"name": "小花", "age": 20, "gender": "女", "score": 95})
执行上述命令后,MongoDB会返回一个类似如下信息:
WriteResult({ "nModified" : 1, "nMatched" : 1, "nUpserted" : 0 })
表示成功替换了一条name为小红的Document。
以上就是关于MongoDB对Document的插入、删除及更新的完整攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:MongoDB对Document(文档)的插入、删除及更新 - Python技术站