嗨,大家好。我遇到了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/

10-11 20:05
查看更多