对于 MongoDB 而言,数据的更新基本上是一件很麻烦的事情
在 MongoDB 里面对于数据的更新操作提供了两类函数:save()
、update()
函数的基本使用
如果要修改数据,最直接的使用函数就是 update()
,但是这个函数的语法很麻烦
- 语法:
db.集合.update(更新条件, 新的对象数据(更新操作符), upsert, multi)
-
upsert
:如果要更新的数据不存在,则增加一条新内容(true 为增加,false为不增加) -
multi
:是否更新满足条件的所有记录(true全部更新,false只更新第一行记录)
将年龄为 19 岁的第一个人的成绩更新为 100 分
> db.students.update(
{"age": 19},
{"$set": {"score": 100}}
, false, false);
将年龄为 19 岁的人的成绩都更新为 100 分
> db.students.update(
{"age": 19},
{"$set": {"score": 100}}
, false, true);
更新不存在的数据
> db.students.update(
{"age": 1000},
{"$set": {"name": "我不存在"}}
, true, false);
除了 update()
函数之外,MongoDB 还提供了 save()
函数,这个函数的功能与更新不存在的内容相似
使用
save()
操作
> db.students.save({"_id": ObjectId("5bfd431c9f238868a3237ef9"), "age": 100});
如果操作中存在 _id
字段,则变为 update()
;没有 _id
则为 insert()