MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Wie entferne ich veraltete Felder in Mongo?

Versuchen Sie:

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

wo field ist Ihr veraltetes Feld und Ihre collection ist die Sammlung, aus der es entfernt wurde.

Der allgemeine Aktualisierungsbefehl hat die Form db.collection.update( criteria, objNew, upsert, multi ) . Der false und true nachgestellte Argumente deaktivieren den Upsert-Modus und aktivieren die Mehrfachaktualisierung, sodass die Abfrage alle Dokumente in der Sammlung aktualisiert (nicht nur die erste Übereinstimmung).

Update für MongoDB 2.2+

Sie können jetzt ein JSON-Objekt anstelle von Positionsargumenten für Upsert und Multi bereitstellen.

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