第三章 MongoDB的增删改查(2)
本章介绍了MongoDB的常用操作,具体包括如下:
- 插入文档
- 删除文档
- 更新文档
- 查找文档
1.更新
db.collection.update(query, update, options):修改已经存在的文档,还可以修改指定的字段或者替换整个文档。
语法
db.collection.update(
<query>,
<update>,
{
upsert: <boolean>,
multi: <boolean>,
arrayFilters: [<filterdocument1>, ...]
}
)
参数 | 类型 | 说明 |
---|---|---|
query | document | 查询条件 |
update | document or pipeline | 如果是文档则替换;如果是$set修改器更新字段 |
upsert | boolean | 可选。 如果为true,匹配则更新,否则插入文档。 默认值false。 |
multi | boolean | 可选。 如果为true,更新匹配多个文档。 如果为false,更新一条文档。 默认值false。 |
arrayFilters | array | 可选。数组筛选,根据筛选条件,筛选出要更新的数组元素。 |
Example
文档替换:文档替换是最简单的更新,用新文档去替换旧的文档,比较适合于大规模数据迁移。
db.user.remove()
db.user.insertMany([
{
"_id": 1, "user_name": "tom", "age": 20},
{
"_id": 2, "user_name": "Abc", "age": 21}
])
-- 这里把_id为1的文档替换成_id为3的文档
db.user.update({
"_id": 1}, {
"_id": 3, "user_name": "hello", "age"