Обновление кэша клиента после мутации Apollo

#apollo-client

Вопрос:

У меня есть мутация, которая добавляет фильм к пользовательскому объекту через отношение «многие ко многим»:

 const currentUser = useReactiveVar(currentUserVar);

  const {error, loading, data: {moviesFromUser} = {}} = useQuery(resolvers.queries.ReturnMoviesFromUser, {
    variables: {userId: currentUser.id},
  });

  if (error) return (<div>Error...</div>);
  if (loading) return (<div>Loading...</div>);

  const [addUserToMovie] = useMutation(resolvers.mutations.AddUserToMovie, {
    update: (cache, result) => {
      console.log(cache);
      console.log(result);
      console.log(moviesFromUser);
      cache.modify({
        id: cache.identify(moviesFromUser),
        fields: {
          movies: (previous, {toReference}) => (
            result.data.addUserToMovie.map((movie) => toReference(movie))
          ),
        },
      });
    },
  });

  const addMovie = async (movie: IMovie) => {
      await addUserToMovie({variables: {
        ...movie,
        tmdb_id: movie.id,
      }});
    }
  };
 

Фильм и ссылка на фильм созданы, потому что, когда я обновляю браузер, я вижу только что добавленный фильм. Но кэш, похоже, не обновляется при добавлении фильма.

Проблема, по-видимому, в том, что эта строка result.data.addUserToMovie.map((movie) => toReference(movie)) не выполняется.

Я записал некоторые данные:

Кэш:

введите описание изображения здесь

Результаты, это ответ с недавно добавленным фильмом:

введите описание изображения здесь

MoviesFromUser, это ответ от пользователя, который возвращает фильмы, подключенные к пользователю:

введите описание изображения здесь