Как обновить элементы в массивах карт в Firestore? - PullRequest
0 голосов
/ 06 ноября 2019

У меня есть и приложение для Android (java), которое получает доступ к документам пожарного депо, которые состоят из поля массива, как показано:

{
  cards: 
    [
      {
        reference: "",
        response: {
                    text: "",
                    title: "",
                  },
        timestamp: ""
      },

      {
        reference: "",
        response: {
                    text: "",
                    title: "",
                  },
        timestamp: ""
      },

     .... and so on

Я хотел бы обновить определенные поля каждого элемента массива, например «response»:«текст» и «ответ»: «заголовок». Каков наилучший способ добиться этого?

Я читал в нескольких местах, что массивы не могут быть обновлены на уровне элементов и что мне, возможно, придется полностью перезаписать весь массив. Это правда? Разве так, как я могу построить свой оператор обновления в Android (Java) для того же самого?

Спасибо,

AB

1 Ответ

1 голос
/ 06 ноября 2019

То, что вы прочитали, правда. В настоящее время невозможно сделать простой запрос на обновление элемента поля массива по его индексу. Вам нужно будет прочитать документ, внести изменения в массив в памяти, а затем обновить документ новым содержимым поля. Все это очень просто и отражено в документации о запросах и обновлении документов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...