Удаление нескольких документов MongoDB в Python

Привет,

Я пытаюсь удалить несколько документов из коллекции MongoDB, используя следующий синтаксис. Я не знаю, правильно ли это, так как я нашел его где-то в Интернете и не смог найти ничего, поскольку соблюдал законность этого утверждения:

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

Я бы ожидал, что вышеуказанный код удалит оба документа, включая значение "sku" "100-00" или "200-00", но, к сожалению, оба документа все еще присутствуют в коллекции. Я также попробовал использовать оба ключа "sku" и его значение для Unicode, поскольку я знаю, что они хранятся в этой кодировке. Как вы можете сказать, я также предоставляю безопасный режим, гарантируя, что на стороне сервера ничего не происходит.

Любая помощь приветствуется, спасибо!

Ответ 1

Вы можете сделать это, используя $или/$в операторах.

Попробуйте следующее:

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)