删除表里面的行记录
> db.users.remove({z:'abc'}) 删除记录 delete from users where z="abc"
默认remove没有带选项true/false的话,是删除匹配到的全部行记录.如果要只删除一条匹配到的记录可以使用:db.users.remove({z:'abc'},true)
> db.t1.deleteOne({name:'zzz'}) 删除1条匹配的记录
> db.t1.deleteMany({name:'zzz'}) 删除全部匹配的记录
> db.pos.remove({"age":{$gt:23}})
> db.users.remove({}) 删除users表全部记录
## 有时候需要全量的删除数据,但是如果一次性执行下去可能把mongodb搞崩,可以使用下面的方法:
echo "db.table_name.find().limit(1000).forEach(doc =>
{
db.table_name.remove({_id:doc._id})
}
)" | mongo --port 27017 db_name
上面的命令 表示每次删除1k条记录,这样小批量的操作,则对mongodb影响很小