Freigeben über


Aktualisieren von Daten in Cosmos DB for MongoDB

Von Bedeutung

Möchten Sie eine vorhandene MongoDB-Anwendung migrieren oder MongoDB Query Language (MQL)-Features verwenden? Betrachten Sie Azure DocumentDB.

Suchen Sie nach einer Datenbanklösung für hochskalige Szenarien mit einer Vereinbarung über verfügbarkeitsbasierte Servicelevels (Service Level Agreement, SLA) von 99,999% Verfügbarkeit, sofortige Automatische Skalierung und automatisches Failover über mehrere Regionen hinweg? Betrachten Sie Azure Cosmos DB für NoSQL.

Einer der einfachsten Vorgänge ist das Aktualisieren von Daten in einer Sammlung. In diesem Leitfaden erfahren Sie alles, was Sie zum Aktualisieren von Daten mit der Mongo-Shell (Mongosh) wissen müssen.

Verwenden der updateOne()-Methode

Mit der updateOne()-Methode wird das erste Dokument aktualisiert, das einem angegebenen Filter entspricht. Die Methode akzeptiert zwei Parameter:

filter: Ein Dokument, das die Kriterien für das Update angibt. Der Filter wird verwendet, um die Dokumente in der Sammlung abzugleichen, die aktualisiert werden sollen. Das Filterdokument muss ein gültiges Abfragedokument sein.

update: Ein Dokument, das die Aktualisierungsvorgänge angibt, die für die übereinstimmenden Dokumente ausgeführt werden sollen. Das Aktualisierungsdokument muss ein gültiges Aktualisierungsdokument sein.

db.collection.updateOne(
   <filter>,
   <update>
)

Um beispielsweise den Namen eines Kunden mit „_id“ gleich „1“ zu aktualisieren, können Sie den folgenden Befehl verwenden:

db.customers.updateOne(
   { _id: 1 },
   { $set: { name: "Jane Smith" } }
)

Im obigen Beispiel ist "db.customers" der Name der Sammlung, "{ _id: 1 }" ist der Filter, der das erste Dokument mit "_id" gleich "1" auswählt, und "{ $set: { name: "Jane Smith" } }" ist der Aktualisierungsvorgang, durch den das Feld "name" des ausgewählten Dokuments auf "Jane Smith" gesetzt wird.

Sie können auch andere Aktualisierungsoperatoren wie $inc, $mul, $rename, $unset usw. verwenden, um die Daten zu aktualisieren.

updateMany()-Methode

Die updateMany()-Methode aktualisiert alle Dokumente, die einem angegebenen Filter entsprechen. Die Methode akzeptiert zwei Parameter:

filter: Ein Dokument, das die Kriterien für das Update angibt. Der Filter wird verwendet, um die Dokumente in der Sammlung abzugleichen, die aktualisiert werden sollen. Das Filterdokument muss ein gültiges Abfragedokument sein. update: Ein Dokument, das die Aktualisierungsvorgänge angibt, die für die übereinstimmenden Dokumente ausgeführt werden sollen. Das Aktualisierungsdokument muss ein gültiges Aktualisierungsdokument sein.

db.collection.updateMany(
   <filter>,
   <update>
)

Um beispielsweise den Namen aller Kunden zu aktualisieren, die in New York leben, können Sie den folgenden Befehl verwenden:

db.customers.updateMany(
   { city: "New York" },
   { $set: { name: "Jane Smith" } }
)

Im obigen Beispiel ist db.customers der Sammlungsname, { city: "New York" } ist der Filter, der alle Dokumente abgleicht, deren Feld „city“ auf „New York“ gesetzt ist, und { $set: { name: "Jane Smith" } } ist der Aktualisierungsvorgang, um das Feld „name“ aller übereinstimmenden Dokumente auf „Jane Smith“ festzulegen.

Sie können auch andere Aktualisierungsoperatoren wie $inc, $mul, $rename, $unset usw. verwenden, um die Daten zu aktualisieren.

Nächste Schritte