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

  • 相关阅读:
    第七次会议记录
    第六次会议记录
    高老师有点可爱队 Alpha冲刺阶段博客目录
    开心括号(栈)
    Codeforces Round #696 (Div. 2)
    OLE和TLE的不同
    Educational Codeforces Round 102 (Rated for Div. 2)
    关于位运算新知
    牛客小白月赛31
    关于cin和getline读入字符串
  • 原文地址:https://www.cnblogs.com/ljhdo/p/5796766.html
Copyright © 2011-2022 走看看