добавить свойство к созданному объекту (Firebase Functions) - PullRequest
0 голосов
/ 10 октября 2019

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

Я посмотрелв документации на https://firebase.google.com/docs/reference/functions/functions.firestore.DocumentBuilder#writing_data, но это для onUpdate, поэтому он не работает так, как я намереваюсь.

exports.createOrder = firestore.document('orders/{orderId}').onCreate((snap, context) => {
  const newOrder = snap.data()
  console.log('triggered', newOrder)
  const orderId = randomize('A0', 10)
  console.log({ orderId })
  return newOrder.ref.set({ orderId }, { merge: true })
  //newOrder.ref.set is undefined
  return newOrder.set({ orderId }, { merge: true })
  //newOrder.set is undefined
})

1 Ответ

1 голос
/ 10 октября 2019

snap.data() возвращает необработанный объект JavaScript, свойства которого содержат значения полей в документе. Он не содержит свойства с именем ref (если только у вас не было поля документа, также называемого ref).

Если вам необходимо выполнить обратную запись в измененный документ, используйте объект типа DocumentReference, предоставленный в snap.ref,См. Также документацию по API для объекта типа DocumentSnapshot , переданного в функцию.

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