Присвоение имени поля из метода документу Firestore - PullRequest
0 голосов
/ 25 мая 2019

Допустим, у меня есть коллекция под названием «пользователи».Когда кто-то нажимает кнопку upvote, я хочу, чтобы он обновлял документ пользователя записью, которая является фрагментом страницы, которую они просматривают.Тем не менее, я не уверен, как это сделать, используя код, который у меня есть.

voteUp() {
        const voteup_ref = db.collection("builds").doc(this.$route.params.slug)
        const voteuser_ref = db.collection("users").doc(this.alias)
        return db.runTransaction(t => {
          return t.get(voteup_ref).then(doc => {
            const newCount = doc.data().voteup + 1
            const NewSlug = voteuser_ref
            t.update(voteup_ref, {
              voteup: newCount
            })
            t.update(voteuser_ref, {
              NewSlug: 'voteup'
            })
          });
        })
      },

Так что, если кто-то просматривает страницу с «my-awesome-comment», я хочу «мой-wesome-comment ', который будет введен в документ пользователя со значением «voiceup».

На самом деле происходит то, что он будет записывать запись в пользовательский документ, как я ожидаю, но он вводит имя полякак 'NewSlug' со значением «voiceup» вместо того, каким фактически является слаг.

Что я делаю не так?

1 Ответ

0 голосов
/ 25 мая 2019

То, как вы написали сам объект JSON NewSlug, - это имя свойства, а не его значение.Для этого вам необходимо использовать квадратную скобку ([]):

let update = {};
update[NewSlug] = 'voteup';
t.update(voteuser_ref, update)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...