2017-12-13 6 views
0

Ich habe ein Schema geändert (zB users), indem ich einen Schlüssel lösche (zB ips). Daher möchte ich diesen Schlüssel in allen Dokumenten in der Datenbank löschen.Lösche einen Schlüssel in allen Dokumenten

Zum Beispiel in mongo console oder Robo 3T, db.getCollection('users').find({}) gibt alle Benutzer zurück. Einige von ihnen enthalten den Schlüssel ips. Kann jemand ips in der Konsole oder im Robo 3T entfernen?

+1

Try 'db.getCollection ('Benutzer') zu aktualisieren. ( {}, {$ ungesetzt: {ips: ""}} )' – Veeram

+0

Sind Sie sicher? Ich habe gerade getestet, es hat nicht funktioniert ... Zuvor war 'ips' definiert als' [{type: String}] '@Veeram – SoftTimur

+0

versuche dieses 'db.getCollection (' users '). Update ({}, {ips : undefind}) ' – shahabvshahabi

Antwort

1

Wie @Veeram bereits gebucht Sie eine regelmäßige Aktualisierung mit $unset laufen kann nur multi: true in den Optionen hinzufügen all Dokumente zu aktualisieren, sonst wird es aktualisieren nur ein

db.users.update(
    { }, // where 
    { $unset: { ips: 1 } }, // change what 
    { multi: true } // options 
) 
2

Aktualisieren mehrerer Dokumente

Um mehrere Dokumente zu aktualisieren, setzen Sie die Option multi auf true. Siehe here

db.getCollection('users').update(
    { }, 
    { $unset: { ips: 1 } }, 
    { multi: true } 
) 
Verwandte Themen