MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Jak zaktualizować głęboko zagnieżdżoną tablicę za pomocą C# MongoDB.Driver?

Powód, dla którego nie działa z pomnożeniem '-1' ponieważ jest to to samo co operator pozycyjny $ .W oficjalnej dokumentacji pod tematem "Zagnieżdżone tablice" widzimy dalej:

Od MongoDb 3.6 pojawiły się nowe funkcje, które pozwalają na pracę z zagnieżdżonymi tablicami.

Operator wszystkich pozycji

Filtrowany operator pozycyjny :

Używając filtrowanego operatora pozycji, mój kod wygląda teraz tak:

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. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongodb $lookup Nie działa z _id

  2. Jak dołączyć do dwóch dodatkowych kolekcji z warunkami

  3. jak uzyskać Python Mongo Aggregate wyjaśnić za pomocą db.command?

  4. Połącz się z wieloma hostami mongo db i uwierzytelnij się przy użyciu innej bazy danych podczas wiosennego rozruchu

  5. Najpopularniejsze bazy danych NoSQL obsługiwane przez ClusterControl