我正在尝试使用云函数从另一个表获取数据,并且告诉我快照为空。
我有一个Firebase数据库,其中连接了一些IoT设备。他们更新数据库(device_001,device_002,device_003)中各自的表(我希望这是正确的词),然后发送到我正在使用的外部API,效果很好。 现在,我需要获取设备以查找它们的位置,并设置了另一个表,每个表都包含其ID,位置和时间戳。
查询表结构:
devices
device_001
id: ...
location: ...
timestamp: ...
代码:
exports.devices_Listener = functions.database.ref('/devices/{deviceId}/{entryId}').onWrite(snapshot => {
object = snapshot.after.val();
getCurrentLocation();
process();
return null
})
function getCurrentLocation() { functions.database.ref('locations/{deviceId}').limitToLast(1).once('value').then(function(snapshot) {
var o = snapshot.val();
})
}
我希望这可以获取快照并允许我获取位置,以便可以将其与处理后的数据一起存储(所有工作都在这里进行,因此这里不包括)。 当我尝试获取位置字段时,我无法读取属性“位置” 当我尝试将快照记录到控制台时,它告诉我它为空。
在这里我看不到我做错了什么,但是我敢肯定它很小而且很简单。
感谢您抽出宝贵的时间阅读这些荒谬的烂摊子。