MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Como remover campos obsoletos no Mongo?


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

onde field é seu campo obsoleto e collection é a coleção da qual foi removido.

O comando geral de atualização tem o formato db.collection.update( criteria, objNew, upsert, multi ) . O false e true argumentos à direita desabilitam o modo upsert e habilitam a atualização múltipla para que a consulta atualize todos os documentos na coleção (não apenas a primeira correspondência).

Atualização para MongoDB 2.2+

Agora você pode fornecer um objeto JSON em vez de argumentos posicionais para upsert e multi.
db.collection.update(
    { '<field>': { '$exists': true } },  // Query
    { '$unset': { '<field>': true  } },  // Update
    { 'multi': true }                    // Options
)