嗨,大家好。我遇到了Firebase数据库问题。我想基于时间戳获取最后两个processdata
对象。我不希望它在processdata
的父对象内返回,因为要求是rawdata
对象,它是父对象的另一个子对象,不应发送到应用程序端。因此,获取父对象也会得到rawdata
,因为它也是子对象。如何避免呢?如我所说,以下代码在父对象内返回processdata
var firebaseHeadingRef6 = firebase.database().ref('pond2/temperature');
firebaseHeadingRef6.orderByChild("{key}/processdata/timestamp").limitToLast(2).on("value", function(snapshot) {
console.log(snapshot.val());
});
最佳答案
你不能当您从Firebase加载任何数据时,其所有子数据都会随之而来。重点:
当您在数据库中的某个位置获取数据时,您还将检索其所有子节点。此外,当您授予某人在数据库节点上的读取或写入访问权限时,您还授予他们对该节点下所有数据的访问权限。因此,在实践中,最好保持数据结构尽可能平坦。 https://firebase.google.com/docs/database/web/structure-data
将rawdata
与应发送到客户端的数据分开存储。
关于javascript - 没有子节点之一的Firebase数据检索,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44526070/