Można to napisać w C# w ten sposób:
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);
Wydaje się, że to niebezpieczna aktualizacja; zastępujesz adres w oparciu tylko o dopasowanie miasta? Czy zapytanie działa poprawnie w powłoce mongo?