【发布时间】: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