如何在Cloud函数(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);
})

有人能帮我解决这个问题吗?

火球结构屏幕截图

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

返回true;

在最后一行之后。

由此:

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;
})

我创建了一个与您的结构相同的示例数据库,并获得了PhoneNumber的值。我注意到的是,在得到该值后,我得到了如下数据:

-------> 1111111111
{"severity":"WARNING","message":"Function returned undefined, expected Promise or value"}

我怀疑这是你收到的消息,但无论如何,正在检索的数据和其他消息只是一个警告。无论如何,我使用的代码如下,请尝试一下:

exports.addCfTimeTodeliverables  = functions.database
.ref('/root/{VendorId}/deliverables/{key}')
.onCreate((snap, context) => {
const data = context.params.VendorId;
var requestSnapshot = snap.val().PhoneNumber;
console.log("------->"+requestSnapshot);

return null;
});

最新更新