10

问候,

我正在尝试使用以下语法从 MongoDB 集合中删除多个文档。我不知道这是否正确,因为我在互联网上的某个地方找到了它,并且自从执行此声明的合法性以来一直找不到任何东西:

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

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

任何帮助表示赞赏,谢谢!

4

1 回答 1

12

您可以通过使用 $or / $in 运算符来做到这一点。

尝试这个:

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)
于 2010-12-28T22:14:36.343 回答