MongoDB入门-删除文档

           MongoDB入门-删除文档

                                       作者:尹正杰

版权声明:原创作品,谢绝转载!否则将追究法律责任。

/*
    删除
    db.collection.deleteOne()   
        即使多个文档可能与指定过滤器匹配,也最多删除一个与指定过滤器匹配的文档。
        3.2版中的新功能。

    db.collection.deleteMany()  
        删除所有与指定过滤器匹配的文档。
        3.2版中的新功能。

    db.collection.remove()  
        删除单个文档或与指定过滤器匹配的所有文档;
        可以根据条件来删除文档,传递的条件和find()一样,删除符合条件的所有文档(默认清空下会删除多个)
        如果remove()传递第二个参数传递一个true,则只会删除一个。
        如果remove()只传递了一个空对象作为参数,则会删除集合中的所有文档
        
    温馨提示:
       生产环境中的数据一般都不会删除,所以删除的方法很少调用,一般会在数据中添加一个字段(如"isDel"),来表示数据是否被删除。。
       
    博主推荐阅读:
        https://docs.mongodb.com/manual/reference/delete-methods/
*/

  
//删除所有age字段为"108"的文档(默认清空下会删除多个)
db.xiyouji.remove({age:"108"})

//删除age字段为"22"的文档,由于第二个参数传递的为"true",因此匹配到第一个文档删除后就不在继续匹配了
db.xiyouji.remove({address:"猪老庄"},true)

//清空集合所有文档,但集合还在(性能较差,因为它需要匹配每一个文档然后再逐一删除),如果真相清空集合,可以直接将该结合删除即可,无需匹配过程。
db.xiyouji.remove({})

//删除集合,集合不存在了
db.xiyouji.drop()

//删除数据库
db.dropDatabase()

db.xiyouji.find({})

原文地址:https://www.cnblogs.com/yinzhengjie/p/12110704.html