Der Grund warum es nicht funktioniert mit multiplizieren '-1'
weil es dasselbe ist wie Positionsoperator
$
.In der offiziellen Dokumentation zum Thema "Nested Arrays" können wir als nächstes sehen:
Ab MongoDb 3.6 es gibt neue Funktionen, die es ermöglichen, mit verschachtelten Arrays zu arbeiten.
Der gefilterte Positionsoperator :
Wenn ich also den gefilterten Positionsoperator verwende, sieht mein Code jetzt so aus:
await coll.UpdateOneAsync(x => x.StoreGuid == storeGuid,
Builders<StoreModel>.Update.Set("configGroup.$[g].config.$[c].value", model.Value),
new UpdateOptions
{
ArrayFilters = new List<ArrayFilterDefinition>
{
new BsonDocumentArrayFilterDefinition<BsonDocument>(new BsonDocument("g.groupName", groupName)),
new BsonDocumentArrayFilterDefinition<BsonDocument>(new BsonDocument("c.key", model.Key))
}
});