sql >> Base de Datos >  >> NoSQL >> MongoDB

Cómo forzar a MongoDB pullAll a ignorar el orden del documento

El $pullAll operador es realmente un "caso especial" que estaba destinado principalmente a elementos de matriz "escalares" individuales y no a subdocumentos en la forma en que lo está utilizando.

En su lugar, utilice $pull que inspeccionará cada elemento y utilizará un $or condición para las listas de documentos:

db.streams.update(
    { "user": "user_name" },
    { "$pull": { "streams": { "$or": streamsB } }}
)

De esa manera, no importa en qué orden estén los campos o busque una "coincidencia exacta" como el $pullAll actual la operación está realmente haciendo.