Frage

Grüße,

Ich versuche, mehrere Dokumente aus einer MongoDB -Sammlung mit der folgenden Syntax zu entfernen. Ich weiß nicht, ob dies korrekt ist, da ich es irgendwo im Internet gefunden habe und seit der Durchsetzung der Legitimität dieser Aussage nichts finden konnte:

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

Ich würde erwarten, dass der obige Code beide Dokumente einschließlich eines "SKU" -Wertwerts von "100-00" oder "200-00" entfernen würde, aber leider sind beide Dokumente in der Sammlung noch immer noch vorhanden. Ich habe auch versucht, sowohl den 'SKU "-Staste als auch seinen Wert auf Unicode zu werfen, da ich weiß, dass sie in dieser Codierung gespeichert sind. Wie Sie erkennen können, aktiviere ich auch den abgesicherten Modus, um sicherzustellen, dass auf der Serverseite nichts außerhalb der Linie stattfindet.

Jede Hilfe wird geschätzt, danke!

War es hilfreich?

Lösung

Sie können dies tun, indem Sie $ oder / $ in Operatoren verwenden.

Versuche dies:

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

oder

pymongo_collection_object.remove({'sku': {'$in': ['100-00', '200-00']}}, safe=True)
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top