sql >> Database >  >> NoSQL >> MongoDB

Hoe verouderde velden in Mongo te verwijderen?

Probeer:

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

waar field is uw verouderde veld en collection is de verzameling waaruit het is verwijderd.

Het algemene update-commando heeft de vorm db.collection.update( criteria, objNew, upsert, multi ) . De false en true trailing-argumenten schakelen upsert-modus uit en inschakelen multi-update zodat de query alle documenten in de verzameling bijwerkt (niet alleen de eerste overeenkomst).

Update voor MongoDB 2.2+

U kunt nu een JSON-object opgeven in plaats van positionele argumenten voor upsert en multi.

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


  1. Groepstelling met MongoDB met behulp van aggregatieframework

  2. Node.js - wacht op meerdere asynchrone oproepen

  3. best practice voor gegevenssynchronisatie in nodejs

  4. Tarieflimiet GET-verzoeken