zoukankan      html  css  js  c++  java
  • MongoDB 文档的删除操作

    在db中删除数据是十分危险的事,建议使用logic delete,即在doc中增加一个field:IsDeleted,将其设置为1,表示该doc在逻辑上被删除,这种workaround将delete操作转换为一个update操作,比较安全。

    MongoDB使用remove删除doc,语法如下,

    复制代码
    db.collection.remove(
       <query filter>,
       {
         justOne: <boolean>,
         writeConcern: <document>
       }
    )
    
    query filter=
    { <field1>: <value1>, ... }  
    { <field1>: { <operator1>: <value1> }, ... }
    复制代码

    All write operations in MongoDB are atomic on the level of a single document.

    1,示例

    创建users collection

    复制代码
    use test
    
    user1={ name:"t1", age:21}
    user2={ name:"t2", age:22}
    user3={ name:"t3", age:23}
    
    db.users.insert([user1,user2,user3])
    复制代码

    2,删除所有doc

    在query filter中设置empty filter,空的doc,将所有的doc都删除。

    db.users.remove({})

    3,删除所有符合query filter的doc

    db.users.remove({age:21})

    4,只删除第一个符合query filter的doc,设置justOne 参数为true

    db.users.remove({age:{$gt:21}},{justOne:true})

    5,以原子操作删除所有符合query filter的doc,即在一个原子操作中奖多个doc删除

    db.users.remove({age:{$gte:21},$isolated:1})

    参考doc:

    Delete Documents

  • 相关阅读:
    Spring整合CXF之添加拦截器
    Spring整合CXF之发布WebService服务
    CXF添加自定义拦截器
    cxf处理一些Map等复杂类型
    webservice执行过程深入理解
    谈谈房车
    关于贷款消费
    记一次玩比特币的经历
    那年K城暑期工
    SpringBoot整合Xxl-Job
  • 原文地址:https://www.cnblogs.com/zxtceq/p/7690964.html
Copyright © 2011-2022 走看看