MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Come rimuovere i campi obsoleti in Mongo?

Prova:

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

dove field è il tuo campo obsoleto e collection è la raccolta da cui è stato rimosso.

Il comando di aggiornamento generale è nel formato db.collection.update( criteria, objNew, upsert, multi ) . Il false e true gli argomenti finali disabilitano la modalità di inserimento e abilitano l'aggiornamento multiplo in modo che la query aggiorni tutti i documenti nella raccolta (non solo la prima corrispondenza).

Aggiornamento per MongoDB 2.2+

Ora puoi fornire un oggetto JSON invece di argomenti posizionali per upsert e multi.

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