Mongodb: so fügen sie einer sammlung ein neues feld hinzu


Mit den folgenden Methoden können Sie jedem Dokument in einer Sammlung in MongoDB ein neues Feld hinzufügen:

Methode 1: Fügen Sie ein neues Feld ohne Werte hinzu

 db.collection.updateMany({}, { $set :{" new_field ": null}})

Methode 2: Fügen Sie ein neues Feld mit einem bestimmten Wert hinzu

 db.collection.updateMany({}, { $set :{" new_field ": 10 }}) 

Methode 3: Fügen Sie ein neues Feld mit Werten aus vorhandenen Feldern hinzu

 db.collection.updateMany(
    {},
    [
        {" $set ": {" name ": { " $concat ": [" $field1 ", " ", " $field2 "]}}}
    ]
)

Die folgenden Beispiele zeigen, wie die einzelnen Methoden mit einem Inkassoteam mit den folgenden Dokumenten verwendet werden:

 db.teams.insertOne({team: " Mavs ", position: " Guard ", points: 31 })
db.teams.insertOne({team: " Spurs ", position: " Guard ", points: 22 })
db.teams.insertOne({team: " Rockets ", position: " Center ", points: 19 })
db.teams.insertOne({team: " Warriors ", position: " Forward ", points: 26 })
db.teams.insertOne({team: " Cavs ", position: " Guard ", points: 33 })

Beispiel 1: Fügen Sie ein neues Feld ohne Werte hinzu

Mit dem folgenden Code können wir jedem vorhandenen Dokument in der Sammlung ein neues Feld namens „bounces“ mit einem Nullwert hinzufügen:

 db.teams.updateMany({}, { $set :{" rebounds ": null}})

Mit der folgenden Abfrage können wir die ersten aktualisierten Dokumente anzeigen:

 db.teams.find().limit( 3 )

Diese Abfrage gibt die folgenden Dokumente zurück:

 { _id: ObjectId("6189325896cd2ba58ce928e5"),
  team: 'Mavs',
  position: 'Guard',
  points: 31,
  rebounds: null }

{ _id: ObjectId("6189325896cd2ba58ce928e6"),
  team: 'Spurs',
  position: 'Guard',
  points: 22,
  rebounds: null }

{ _id: ObjectId("6189325896cd2ba58ce928e7"),
  team: 'Rockets',
  position: 'Center',
  points: 19,
  rebounds: null }

Beachten Sie, dass jedes Dokument jetzt über ein Feld namens „Bounces“ mit einem Nullwert verfügt.

Beispiel 2: Fügen Sie ein neues Feld mit einem bestimmten Wert hinzu

Mit dem folgenden Code können wir jedem vorhandenen Dokument in der Sammlung ein neues Feld namens „bounces“ mit einem Wert von 10 hinzufügen:

 db.teams.updateMany({}, { $set :{" rebounds ": 10 }})

Mit der folgenden Abfrage können wir die ersten aktualisierten Dokumente anzeigen:

 db.teams.find().limit( 3 )

Diese Abfrage gibt die folgenden Dokumente zurück:

 { _id: ObjectId("6189325896cd2ba58ce928e5"),
  team: 'Mavs',
  position: 'Guard',
  points: 31,
  rebounds: 10 }

{ _id: ObjectId("6189325896cd2ba58ce928e6"),
  team: 'Spurs',
  position: 'Guard',
  points: 22,
  rebounds: 10 }

{ _id: ObjectId("6189325896cd2ba58ce928e7"),
  team: 'Rockets',
  position: 'Center',
  points: 19,
  rebounds: 10 }

Beachten Sie, dass jedes Dokument jetzt ein Feld namens „Bounces“ mit einem Wert von 10 hat.

Beispiel 3: Fügen Sie ein neues Feld mit Werten aus vorhandenen Feldern hinzu

Mit dem folgenden Code können wir ein Feld namens „Name“ hinzufügen, dessen Wert eine Verkettung der vorhandenen Felder „Team“ und „Position“ ist:

 db.teams.updateMany(
    {},
    [
        {" $set ": {" name ": { " $concat ": [" $team ", " ", " $position "]}}}
    ]
)

Mit der folgenden Abfrage können wir die ersten aktualisierten Dokumente anzeigen:

 db.teams.find().limit( 3 )

Diese Abfrage gibt die folgenden Dokumente zurück:

 { _id: ObjectId("618934cb96cd2ba58ce928ea"),
  team: 'Mavs',
  position: 'Guard',
  points: 31,
  name: 'Mavs Guard' }

{ _id: ObjectId("618934cb96cd2ba58ce928eb"),
  team: 'Spurs',
  position: 'Guard',
  points: 22,
  name: 'Spurs Guard' }

{ _id: ObjectId("618934cb96cd2ba58ce928ec"),
  team: 'Rockets',
  position: 'Center',
  points: 19,
  name: 'Rockets Center' }

Beachten Sie, dass jedes Dokument jetzt über ein Feld namens „Name“ verfügt, dessen Wert eine Verkettung der Felder „Team“ und „Position“ ist.

Hinweis : Die vollständige Dokumentation zur Funktion updateMany() finden Sie hier .

Zusätzliche Ressourcen

In den folgenden Tutorials wird erläutert, wie Sie andere häufige Aufgaben in MongoDB ausführen:

MongoDB: So benennen Sie Felder um
MongoDB: So löschen Sie Felder
MongoDB: So überprüfen Sie, ob das Feld eine Zeichenfolge enthält
MongoDB: So fragen Sie mit einem Datumsbereich ab
MongoDB: So fragen Sie mit einem regulären Ausdruck „Gefällt mir“ ab

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert