sql >> Database >  >> NoSQL >> MongoDB

Hoe diep geneste array bij te werken met C# MongoDB.Driver?

De reden waarom het niet werkt met vermenigvuldigen '-1' omdat het hetzelfde is als positionele operator $ .In officiële documentatie onder het onderwerp "Nested Arrays" kunnen we het volgende zien:

Van MongoDb 3.6 er zijn nieuwe functies die het mogelijk maken om met geneste arrays te werken.

De all-positionele operator

De gefilterde positionele operator :

Dus, met behulp van de gefilterde positie-operator ziet mijn code er nu als volgt uit:

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))
        }
    });



  1. Waarom is een enkele Jedis-instantie niet threadsafe?

  2. Mongo opent te veel verbindingen

  3. MongoDB groupby verschillende sorteer samen

  4. akka-streams gebruiken om mongo-verzameling te overlopen