【问题标题】:mongodb remove document that match each element in array [duplicate]mongodb删除与数组中每个元素匹配的文档[重复]
【发布时间】:2018-04-11 14:24:01
【问题描述】:

mongodb

{'id':'a'}
{'id':'b'}
{'id':'c'}
{'id':'d'}
......

蟒蛇

pool = ['a','b','c']
for element in pool:
    mongodb.remove({'id':element})

就像这样的情况。
我有一个列表,作为 id 列表。
我想从 mongodb 中删除每一个。

有没有比一个一个做更好的方法?

【问题讨论】:

    标签: python mongodb


    【解决方案1】:
    db.collection.remove({'_id':{'$in': pool}})
    

    这将一次性删除所有记录。

    【讨论】:

      【解决方案2】:

      如果要删除整个文档:

      .remove() 方法接受一个查询对象,你可以使用正则表达式:

      db.collection.remove({ "id": /your_regex/})
      

      将删除与您的正则表达式匹配的每个文档。

      如果要删除特定字段,应使用 $unset 属性,如下所示:

      db.collection.update({}, {$unset: {"field":1}}, {multi: true})
      

      【讨论】:

        猜你喜欢
        • 2021-01-28
        • 2020-04-04
        • 1970-01-01
        • 2019-01-05
        • 2014-02-23
        • 2016-02-17
        • 1970-01-01
        • 2021-05-06
        • 1970-01-01
        相关资源
        最近更新 更多