Laravel Mongodb JSON字段更新

I want to update a users table in Laravel I am using MongoDB as a database.

My User table JSON field which I want to update is:

   "experience" : [
                "{\"1\":{\"name\":\"My First Company Experience\",\"description\":\"this is exp\"}}",
                "{\"2\":{\"name\":\"Second\",\"description\":\"here is second\"}}"
        ]

I want to update experience field

I am using laravel update:

    $id = Auth::user()->_id;
    $name = $request->get('name');
    $description = $request->get('description');
    $flag = $request->get('flag');
    $a[$flag] = array('name' => $name, 'description' => $description );
    $c = json_encode($a);
    User::where('_id', $id)->update(['experience.1' => $c]);

But this is not working. It is inserting experience1 as a new field. I want to update experience1 and expereince2 can anyone help me?

There are certain errors you made, here is a solution:

$id = \Auth::user()->_id;
$name = $request->get('name');
$description = $request->get('description');
$flag = $request->get('flag');
$a[$flag] = array('name' => $name, 'description' => $description );
$c = json_encode($a);
$data = User::find($id);
$data->experience.1=$c;
$data->save();