MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Comment supprimer les champs obsolètes dans Mongo ?

Essayez :

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

field est votre champ obsolète et collection est la collection dont il a été supprimé.

La commande générale de mise à jour est de la forme db.collection.update( criteria, objNew, upsert, multi ) . Le false et true les arguments de fin désactivent le mode upsert et activent la mise à jour multiple afin que la requête mette à jour tous les documents de la collection (pas seulement la première correspondance).

Mise à jour pour MongoDB 2.2+

Vous pouvez désormais fournir un objet JSON au lieu d'arguments positionnels pour upsert et multi.

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