475 Stimmen

Neues Feld zu jedem Dokument in einer MongoDB-Sammlung hinzufügen

Wie kann ich ein neues Feld zu jedem Dokument in einer bestehenden Sammlung hinzufügen?

Ich weiß, wie man das Feld eines bestehenden Dokuments aktualisiert, aber nicht, wie man ein neues Feld zu jedem Dokument in einer Sammlung hinzufügt. Wie kann ich dies in der mongo Muschel?

2voto

Edgar Olivar Punkte 964

Wenn Sie Mongoose verwenden, versuchen Sie Folgendes, nachdem die Mongoose-Verbindung hergestellt wurde

async ()=> await Mongoose.model("collectionName").updateMany({}, {$set: {newField: value}})

2voto

KushalSeth Punkte 1772

Die obigen Antworten decken dieses Szenario nicht ab. Ich war auf der Suche nach der ähnlichen Abfrage, möchte aber hinzufügen fields zu wenigen Dokumenten auf der Grundlage von Bedingungen.

Wir können also die erste Variable von updateMany Felder nur in wenigen Dokumenten zu aktualisieren.

Beispiel: Ich möchte ein löschbares Feld hinzufügen isDeprecated? an alle Benutzer, deren Benutzertyp Arbeitgeber ist und das Land "AAA" hat.

db.users.updateMany({"userType": "Employer", "country": "AAA"}, {"$set": { "isDeprecated?": true }})  

Diese Antwort wird auch in solchen Szenarien hilfreich sein, in denen wir die Sammlung finden und dann aktualisieren müssen. Dies kann in einer einzigen Abfrage geschehen, wie erwähnt.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X