Как добавить ID документа в каждый элемент querySnapshot из запроса firestore? - PullRequest
0 голосов
/ 06 июня 2019

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

Мне нужен документ ID в моемсостояние, чтобы я мог запросить конкретные документы по их идентификатору, чтобы обновить их.

В настоящее время я перебираю снимок с forEach(), как подсказывают Google Docs, но я пытаюсь использовать map(), чтобы поставить каждыйэлемент в моем массиве let cards =[], но где-то в нем также содержится doc.id.

     actions: {
      async nuxtServerInit(vuexContext, context) {
        let cards = []
        await db
          .collection('Assets')
          .get()
          .then(snapshot => {
          snapshot.forEach(doc => {
            cards.map(doc.data())
          })

          vuexContext.commit('setCards', cards)
        })
    },

В настоящее время в моем состоянии я все еще вижу

 loadedCards:Array[1]
0:Object
authors:"noFace1"
description:"hopefully this fucking works"
imageurl:Array[1]
slug:"the-big-test-bunny"
title:"The big test bunny"
type:"Video"
user:"VbomJvANYDNe3Bek0suySs1L8oy1"

Мне нужно иметьдругое свойство id: xblkujoifduodsifl (только пример ID), включенное в мое состояние.

1 Ответ

1 голос
/ 06 июня 2019

изменить эту строку cards.map(doc.data()) для этого

cards.map(doc => {
  const id = doc.id
  const data = doc.data()
  return Object.assign({}, id, { ...data })
})

идентификатор не является частью документа, если вы явно не скопировали его

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