Rimozione di più documenti MongoDB in Python
Domanda
Saluti,
Sto tentando di rimuovere più documenti da una raccolta MongoDB usando la seguente sintassi. Non so se questo è corretto, come ho trovato da qualche parte su internet e non sono riuscito a trovare nulla in quanto far rispettare la legittimità di questa affermazione:
pymongo_collection_object.remove(
[
{
'sku': '100-00'
},
{
'sku': '200-00'
}
]
, safe=True)
mi aspetto il codice sopra eliminerebbe entrambi i documenti tra cui un valore 'sku' di '100-00' o '200-00' ma purtroppo entrambi i documenti sono ancora presenti all'interno della collezione. Ho anche provato colata sia la chiave 'sku' e il suo valore di Unicode come so sono memorizzati in questa codifica. Come si può dire io sono anche l'attivazione della modalità sicura assicurare che non c'è nulla fuori linea accadendo sul lato server.
Ogni aiuto è apprezzato, grazie!
Soluzione
È possibile farlo utilizzando $ o / $ in operatori.
Prova questo:
pymongo_collection_object.remove({'$or': [{'sku': '100-00'}, {'sku': '200-00'}]}, safe=True)
o
pymongo_collection_object.remove({'sku': {'$in': ['100-00', '200-00']}}, safe=True)