目录

一、更新操作

1.更新操作符

2.updateMany和updateOne示例

3.update示例(废弃)

4.save() 方法

二、开发常见更新场景

Mongdb查询 - 常见场景查询语句示例_@来杯咖啡的博客-CSDN博客-更新语句

三、删除文档

四、删除集合

一、更新操作

1.更新操作符

updateOne/updateMany 方法要求更新条件部分必须具有以下之一,否则将报错:

• $set 给符合条件的文档新增一个字段,有该字段则修改其值
• $unset 给符合条件的文档,删除一个字段
• $push: 增加一个对象到数组底部
• $pop:从数组底部删除一个对象
• $pull:如果匹配指定的值,从数组中删除相应的对象
• $pullAll:如果匹配任意的值,从数据中删除相应的对象
• $addToSet:如果不存在则增加一个值到数组

更新操作符

$set 更新或新增字段
$unset删除字段
$rename 重命名字段
$inc 加减字段值
$mul 相乘字段值
$min 采用最小值
$max 次用最大值

2.updateMany和updateOne示例

1、单条插入数据, 插入两条:

db.userInfo.insert([
{ name:"zhansan",
  tag:["90","Programmer","PhotoGrapher"]
},
{  name:"lisi",
   tag:["90","Accountant","PhotoGrapher"] 
}]);

2、将tag 中有90 的文档,增加一个字段: flag: 1:

db.userInfo.updateMany(
{tag:"90"},
{$set:{flag:1}}
);

MONGOdb批量删除多个ID数据 mongodb 批量更新,删除_mongodb

3、只修改一个则用:

db.userInfo.updateOne(
 {tag:"90"},
 {$set:{flag:2}}
 );

MONGOdb批量删除多个ID数据 mongodb 批量更新,删除_数据库_02

4、基于上面这两条数据,可以来查询一下数组中的元素

userInfo 中,会计和程序员的文档:

db.userInfo.find(
{$or:
 [
 {tag:"Accountant"},
 {tag:"Programmer"}
 ]
});

MONGOdb批量删除多个ID数据 mongodb 批量更新,删除_MONGOdb批量删除多个ID数据_03

5、userInfo 中,90后的文档:

db.userInfo.find({tag:"90"});

MONGOdb批量删除多个ID数据 mongodb 批量更新,删除_MONGOdb批量删除多个ID数据_04

3.update示例(废弃)

MONGOdb批量删除多个ID数据 mongodb 批量更新,删除_mongodb_05

我们在集合 col 中插入如下数据:

db.col.insert({
    title: 'MongoDB 教程', 
    description: 'MongoDB 是一个 Nosql 数据库',
    by: '菜鸟,
    url: 'http:
    tags: ['mongodb', 'database', 'NoSQL'],
    likes: 100
})

MONGOdb批量删除多个ID数据 mongodb 批量更新,删除_数据库_06

4.save() 方法

MONGOdb批量删除多个ID数据 mongodb 批量更新,删除_数据库_07

MONGOdb批量删除多个ID数据 mongodb 批量更新,删除_MONGOdb批量删除多个ID数据_08

二、开发常见更新场景


三、删除文档

db.collection.remove(<query>,<options>)

默认情况下,会删除所有满足条件的文档, 可以设定参数 { justOne:true},只会删除满足添加的第一条文档。

四、删除集合

db.collection.drop( { writeConcern:<doc>})

定义了本次删除集合操作的安全写级别

这个指令不但删除集合内的所有文档,且删除集合的索引。

db.collection.remove 只会删除所有的文档,直接使用remve删除所有文档效率比较低,可以使用 drop 删除集合,才重新创建集合以及索引。

MONGOdb批量删除多个ID数据 mongodb 批量更新,删除_nosql_09