sql >> データベース >  >> NoSQL >> MongoDB

深くネストされた配列をC#MongoDB.Driverで更新するにはどうすればよいですか?

    multiply '-1'で機能しない理由 位置演算子 と同じであるため $ 。「ネストされた配列」というテーマの公式ドキュメントでは、次に見ることができます:

    MongoDb 3.6から ネストされた配列を操作できる新機能があります。

    全位置演算子

    フィルター処理された位置演算子

    したがって、フィルター処理された位置演算子を使用すると、私のコードは次のようになります。

    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. MongoDBで日付から日を取得する8つの方法

    2. エラー:127.0.0.1:6379へのRedis接続に失敗しました-ECONNREFUSED127.0.0.1:6379に接続してください

    3. MongoDBに初期データをロードする方法は?

    4. MongoDBへの接続はprocess.exit()で自動的に閉じられますか?