Delete an object from within an array using JSONB in PostgreSQL
To remove key (warning - json/jsonb arrays index starts from 0 unlike pure SQL arrays):  

UPDATE site_content
   SET content #- '{playersContainer,players,0}'::text[];


To remove array element with specific id:

UPDATE site_content
   SET content = content #- coalesce(('{playersContainer,players,' || (
            SELECT i
              FROM generate_series(0, jsonb_array_length(content-&gt;'playersContainer'-&gt;'players') - 1) AS i
             WHERE (content-&gt;'playersContainer'-&gt;'players'-&gt;i-&gt;'id' = '"2"')
         ) || '}')::text[], '{}');