【问题标题】:Firebase Function - Unable to read all child valuesFirebase 函数 - 无法读取所有子值
【发布时间】:2018-06-30 03:40:44
【问题描述】:

我有一个如下的firebase函数

    exports.shareNotifyNCoin = functions.database.ref('{userID}/mySharedImages/{postID}')
.onCreate(event => {
  const userID = event.params.userID
  const postID = event.params.postID
  const createdAt = postID.slice(0,15)
  const sharedBenefits = event.data.child('sharedBenefits').val()
  const sharedOnFaceBook = event.data.child('facebook').val() 
  const sharedOnTwitter = event.data.child('twitter').val()
  const sharedOnPinterest = event.data.child('pinterest').val()
  const createdByPic = event.data.child('myPhotoUrl').val()
console.log('myPhotoUrl is :' + createdByPic)
  console.log('sharedBenefits is : ' + sharedBenefits)
  console.log('facebook is:' + sharedOnFaceBook)
  console.log('twitter is: ' + sharedOnTwitter)
  console.log('pinterest is: ' + sharedOnPinterest)
    }

它正在使用具有如下节点的 firebase 实时数据库:

每次根据图像中的结构插入新值时,此函数都会触发。我遇到的问题是,当创建一个新节点时,“sharedBenefits”的值被成功检索,但不是快照的其他子值。日志的输出与此处的图像一致。

我无法弄清楚我无法检索快照的这些子值的原因。

仅供参考,写入数据库的代码使用 Java for Android,如下所示:

public static void saveToDatabase(Boolean fb, Boolean tw, Boolean pin, String shareUrl, String shareType) {
    setShareImageFirebaseReference();
    String nodeID = dateTimeStampMilliSeconds();
    myRef.child(nodeID).child(shareType).setValue(shareUrl);
    myRef.child(nodeID).child(FACEBOOK).setValue(fb);
    myRef.child(nodeID).child(TWITTER).setValue(tw);
    myRef.child(nodeID).child(PINTEREST).setValue(pin);
    myRef.child(nodeID).child(MY_PHOTO).setValue(thisAppUser.getPhotoUrl());
}

【问题讨论】:

  • 可以贴出写入数据库的代码吗?
  • @Ali - 我已编辑问题以包含代码
  • 我认为每次调用setValue 都会触发你的firebase函数

标签: javascript firebase-realtime-database google-cloud-functions


【解决方案1】:

我相信当您在{userID}/mySharedImages/{postID} 节点上shareUrlsetValue 时触发了您编写的云功能,因为触发器是该节点的onCreate,并且当时没有设置其他值,这就是错误的原因。

您应该尝试使用扇出技术同时上传所有值或一起更新整个对象而不是单个值。

更多关于扇出技术here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-11-11
    • 2017-10-04
    • 1970-01-01
    • 1970-01-01
    • 2021-09-30
    • 2019-03-11
    • 1970-01-01
    相关资源
    最近更新 更多