【问题标题】:add a property to a created object (Firebase Functions)向创建的对象添加属性(Firebase 函数)
【发布时间】:2019-10-09 22:03:01
【问题描述】:

我正在关注在特定集合(订单)上创建对象 我需要在保存之前向对象添加一个新属性,不返回任何内容,但无济于事。

我查看了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
})

【问题讨论】:

    标签: javascript node.js firebase google-cloud-firestore google-cloud-functions


    【解决方案1】:

    snap.data() 返回一个原始 JavaScript 对象,其属性包含文档中字段的值。它不包含名为 ref 的属性(除非您有一个也称为 ref 的文档字段)。

    如果您需要回写更改的文档,请使用snap.ref 中提供的 DocumentReference 类型对象。另请参阅传递给函数的 DocumentSnapshot 类型对象的 API 文档。

    snap.ref.set(...)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-23
      • 2019-04-20
      • 2021-03-31
      • 2011-11-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多