Appearance
MongoDB可以根据条件修改或删除,这个条件语句和查询中的一样,其中修改也同样支持一些复杂的操作,比如字段值的加法运算,向数组添加元素等等。
MongoDB的修改
update()
和updateMany()
函数能实现对记录的修改,update()
修改一条记录而updateMany()
能修改多条记录。
javascript
db.collection.updateMany({查询条件},{$set:{data}}) // 基本使用格式
// 修改找到的第一条姓名等于李强的记录,修改age字段为26,classno字段为2-6
db.student.update({name:"李强"},{$set:{age:26,classno:"2-6"}})
// 修改性别为男且年龄大于等于25的记录,classno字段为2-6
db.student.updateMany(
{sex:"男", age:{$gte:25}},
{$set:{classno:"2-6"}}
)
$set
是修改属性值,如果不存在则会自动添加,而$unset
可以删除记录中的字段,案例如下:
javascript
db.student.update({name:"李强"},{$unset:{city:1,tel:1}})
$inc
:对某个字段值做加法运算
javascript
db.student.update({},{$inc:{age:2}}) // 对age属性加上2
$push
:向数组属性添加元素
$pull
:可以删除数组属性的元素
javascript
db.teacher.update({name:"Jack"}, {$push:{role: "教导主任"}})
db.teacher.update({name:"Jack"}, {$pull:{role: "副校长"}})
MongoDB的删除
删除就很简单了,remove()函数可以删除记录
javascript
db.student.remove({sex:"男"}) // 删除所有男学生