在Python中删除多个MongoDB文档

时间:2010-12-28 22:00:16

标签: python mongodb pymongo nosql

问候,

我正在尝试使用以下语法从MongoDB集合中删除多个文档。我不知道这是否正确,因为我发现它在互联网上的某个地方并且由于强制执行本声明的合法性而无法找到任何内容:

pymongo_collection_object.remove(
    [
        {
            'sku': '100-00'
        },
        {
            'sku': '200-00'
        }
    ]
, safe=True)

我希望上面的代码会删除两个文件,包括'sku'值'100-00'或'200-00',但不幸的是这两个文件仍然存在于集合中。我也尝试将'sku'键及其值转换为Unicode,因为我知道它们存储在此编码中。正如您所知,我也启用安全模式,确保服务器端没有任何异常情况发生。

感谢任何帮助,谢谢!

1 个答案:

答案 0 :(得分:12)

您可以使用运算符中的$或/ $来执行此操作。

试试这个:

pymongo_collection_object.remove({'$or': [{'sku': '100-00'}, {'sku': '200-00'}]}, safe=True)

pymongo_collection_object.remove({'sku': {'$in': ['100-00', '200-00']}}, safe=True)