Обновить значение в firestore + JS - PullRequest
0 голосов
/ 06 апреля 2019

У меня есть массив, заполненный объектами (см. Изображение). изображение

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

Второй работает. Но я не могу обновить смайлики, если я сделаю массив, заменив все текущими смайликами.

код:

`// item is = choosed emoji!`

function addEmoji (item) {
 this.allSingleEmojis = doc.data().allEmojis;

// if item, exist in reactions update
      if (this.allSingleEmojis.includes(item)) {
        fb.postsCollection
          .doc(docId)
          .update({
            reactions: [{ [item]: 1 + 1 }]
          })
          .then(() => {
            this.showText = false;
          })
          .catch(err => {
            console.log(err);
          });
      }
      // if item doesn't exist in reactions add item + count to new index
      // this one works!
      else if (!this.allSingleEmojis.indexOf(item) === false) {
        fb.postsCollection
          .doc(docId)
          .update({
            reactions: firebase.firestore.FieldValue.arrayUnion({
              [item]: 0
            })
          })
          .then(() => {
            this.showText = false;
          })
          .catch(err => {
            console.log(err);
          });
      }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...