更新Firestore + JS中的值

时间:2019-04-06 20:46:42

标签: javascript arrays firebase google-cloud-firestore

我有一个充满对象的数组(请参见图片)。 image

我想动态更新表情符号,例如,如果用户选择与数组内部实际相同的表情符号,则对象应该更新,并且如果数组中不存在表情符号,则将其添加到数组中。

第二个正在工作。但是,如果我将数组替换为当前的表情符号,则无法更新表情符号。

代码:

`// 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);
          });
      }
}

0 个答案:

没有答案