删除文档
remove()方法
功能:默认情况下删除所有符合条件的文档
格式:
db.<collection>.remove(删除条件)
假如,我们现在想删除id为D001的数据,那么代码如下:
db.stus.remove({_id:"D001"})
如果我们只想删除一个,那么加入第二个参数:justOne:true:
db.<collection>.remove(删除条件,true)
现在我们有两唐僧,我们想删掉一个,则代码如下:
db.stus.remove({name:"唐僧"},true)
如果想要删除所有的信息,那么可以使用 db.stus.remore({})
当然了,这种删除方法性能比较差。
还有一种比较高效的做法:
db.<collection>.drop()
直接删除一个集合
比如,我们把stus删掉,那么使用代码
db.stus.drop()
注意:如果所有集合都被删除,那么数据库也会被删除。
然后下面,我们介绍一下怎么一次性删除一个数据库:
db.dropDatabase()
直接use使用某个数据库,然后使用db.dropDatabase即可。比如我们删了我们的test数据库,那么代码如下:
use test;
db.dropDatabase();
但是我们一般不会直接删除数据,我们会给每个文档多加一列判断该文档要不要。
直接贴代码显示:
use test;
db.stus.insert([
{name:"唐僧",age:18,isDel:0},
{name:"孙悟空",age:18,isDel:0},
{name:"猪八戒",age:18,isDel:0},
{name:"沙和尚",age:18,isDel:0}
]);
db.stus.find();
查询结果如下:
假如现在唐僧被吃了,我们要把他去掉,那么我们就把她的isDel改为1,代码如下:
db.stus.updateOne(
{
name:"唐僧"
},
{
$set:
{
isDel:1
}
}
);
db.stus.find({isDel:0});
查询结果如下:
deleteOne()方法
功能:删除一个符合条件的文档
格式跟remore差不多,这里直接贴代码,假如我们要删除一个金角大王信息,那么代码如下:
db.stus.deleteOne(
{name:"金角大王"}
)
查询结果如下:
deleteMany()方法
功能:删除所有符合条件的文档
格式跟remore差不多,这里直接贴代码,假如我们要删除所有银角大王信息,那么代码如下:
db.stus.deleteMany(
{name:"银角大王"}
)
查询结果如下: