sql >> Databáze >  >> NoSQL >> MongoDB

Jak aktualizovat hluboce vnořené pole pomocí C# MongoDB.Driver?

Důvod, proč to nefunguje s multiply '-1' protože je to stejné jako poziční operátor $ .V oficiální dokumentaci pod předmětem "Vnořená pole" můžeme vidět následující:

Od MongoDb 3.6 existují nové funkce, které umožňují práci s vnořenými poli.

Veškerý polohový operátor

Filtrovaný poziční operátor :

S použitím operátoru filtrované pozice tedy můj kód nyní vypadá takto:

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. Výchozí knihovna slibů Mongoose je v zásobníku MEAN zastaralá

  2. MongoDB Agregation, existuje způsob, jak získat triggerStats z agregovaného kurzoru?

  3. C# MongoDB.Driver GetServer je pryč, co teď?

  4. Nelze přečíst vlastnost 'castForQuery' z undefined na castArrayFilters v Node.js