首页 > 解决方案 > 如何在云函数(Javascript)中从实时数据库中的字段值读取数据

问题描述

我正在尝试从以下结构(图像)中读取“OrderedTime”或任何其他字段,但我总是得到“未定义”的输出,但是当我使用“金额”字段时,我得到的输出为“总金额:10₹” ; ,我不确定我在这里做错了什么。

  exports.addCfTimeTodeliverables = functions.database.ref('/root/{VendorId}/deliverables/{key}').onCreate((snap, context)=>{
    const data = context.params.VendorId
    var requestSnapshot = snap.val().PhoneNumber;  // getting undefined  for all the fields (Not working as expected)
    var requestSnapshot = snap.val().Amount;  // getting "Total Amount : 10₹" (Working as expected)
    console.log("------->"+requestSnapshot);
})

谁能帮我解决这个问题?

firebase结构截图

标签: javascriptfirebase-realtime-databasegoogle-cloud-functions

解决方案


我们的函数必须总是返回一些东西,所以我们可以通过添加来解决这个错误

返回真;

在最后一行之后。

由此:

  exports.addCfTimeTodeliverables = functions.database.ref('/root/{VendorId}/deliverables/{key}').onCreate((snap, context)=>{
    const data = context.params.VendorId
    var requestSnapshot = snap.val().PhoneNumber;  // getting undefined  for all the fields (Not working as expected)
    var requestSnapshot = snap.val().Amount;  // getting "Total Amount : 10₹" (Working as expected)
    console.log("------->"+requestSnapshot);

    })

对此:

  exports.addCfTimeTodeliverables = functions.database.ref('/root/{VendorId}/deliverables/{key}').onCreate((snap, context)=>{
    const data = context.params.VendorId
    var requestSnapshot = snap.val().PhoneNumber;  // getting undefined  for all the fields (Not working as expected)
    var requestSnapshot = snap.val().Amount;  // getting "Total Amount : 10₹" (Working as expected)
    console.log("------->"+requestSnapshot);

    return true;
    })

推荐阅读