Удаление нескольких документов MongoDB в Python - PullRequest
10 голосов
/ 29 декабря 2010

Привет,

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

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

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

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

1 Ответ

12 голосов
/ 29 декабря 2010

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

Попробуйте:

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)
...