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

Hvordan fjerner man forældede felter i Mongo?

Prøv:

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

hvor field er dit forældede felt og collection er den samling, den blev fjernet fra.

Den generelle opdateringskommando har formen db.collection.update( criteria, objNew, upsert, multi ) . false og true afsluttende argumenter deaktiverer upsert-tilstand og aktiverer multiopdatering, så forespørgslen opdaterer alle dokumenter i samlingen (ikke kun det første match).

Opdatering til MongoDB 2.2+

Du kan nu give et JSON-objekt i stedet for positionelle argumenter for upsert og multi.

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


  1. Sådan får du adgang til MongoDB Instance 4.2?

  2. Hurtigste måde at få histogram af matrixstørrelser ved hjælp af MongoDB aggregeringsramme

  3. Fejlmeddelelse fra MongoDB Operation `disneys.insertOne()` buffering timeout efter 10000ms

  4. TransactionRequiredException Udførelse af en opdatering/sletningsforespørgsel