【问题标题】:firebase cloud function how to get value and update itfirebase 云功能如何获取价值并更新它
【发布时间】:2019-01-24 14:39:30
【问题描述】:

我正在尝试从我的数据库中的某个位置获取一个值,将其加 1 并将其设置回来,但我得到了不同的错误,最新的是

TypeError: Cannot read property 'update' of undefined
at admin.database.ref.once.then (/user_code/lib/index.js:22:25)

不知道为什么它试图将它作为我认为是一种方法的属性来读取?我的整个方法是这样的

admin.database().ref('users/' + senderId + '/contacts/' + recipientId)
.once('value').then((contactSnapshot) => {
    var mContact = contactSnapshot.val()
    let unread = mContact['unread']
    console.log('contact name is ' + mContact['user_name'] + ' unread count is ' + unread)
    unread++
    var contactReference = mContact.ref
    contactReference.update({'unread' : unread})
})

我的控制台日志与联系人姓名和未读计数打印得很好

【问题讨论】:

    标签: android typescript firebase-realtime-database google-cloud-functions


    【解决方案1】:

    mContact = contactSnapshot.val() 返回所查询数据库位置的原始 javascript 值。它不包含其他参考对象。 mContact 不会有 ref 属性,除非您在该位置的数据库中有一个名为 ref 的键值。

    听起来您想改为contactSnapshot.ref。或者只是记住你最初构造它的引用:

    const contactReference = admin.database().ref('users/' + senderId + '/contacts/' + recipientId)
    

    【讨论】:

    • 当我发布此内容时,我看到可能是这种情况,非常感谢我想要的是 contactSnapshot.ref
    猜你喜欢
    • 1970-01-01
    • 2018-12-15
    • 2019-10-17
    • 2019-02-22
    • 2018-06-25
    • 1970-01-01
    • 1970-01-01
    • 2023-03-09
    • 2020-02-28
    相关资源
    最近更新 更多