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

¿Cómo eliminar campos obsoletos en Mongo?

Prueba:

db.collection.update(
    { '<field>': { '$exists': true } },  // Query
    { '$unset': { '<field>': true  } },  // Update
    false,                               // Upsert
    true                                 // Multi-update
)

donde field es su campo obsoleto y collection es la colección de la que se eliminó.

El comando de actualización general tiene la forma db.collection.update( criteria, objNew, upsert, multi ) . El false y true los argumentos finales deshabilitan el modo upsert y habilitan la actualización múltiple para que la consulta actualice todos los documentos de la colección (no solo la primera coincidencia).

Actualización para MongoDB 2.2+

Ahora puede proporcionar un objeto JSON en lugar de argumentos posicionales para upsert y multi.

db.collection.update(
    { '<field>': { '$exists': true } },  // Query
    { '$unset': { '<field>': true  } },  // Update
    { 'multi': true }                    // Options
)