In C# würden Sie das so schreiben:
var newAddress = new BsonDocument
{
{ "street", "New street" },
{ "city", "New York" },
{ "country", "USA" }
// ...
};
var query = Query.EQ("addresses.city", "New York");
var update = Update.Set("addresses.$", newAddress);
var result = customerCollection.Update(query, update, UpdateFlags.Multi);
Das scheint ein gefährliches Update zu sein; Sie überschreiben eine Straßenadresse, die nur auf der Übereinstimmung mit der Stadt basiert? Funktioniert die Abfrage in der Mongo-Shell korrekt?