Javascript 如何浏览动态Firebase实时数据库?

Javascript 如何浏览动态Firebase实时数据库?,javascript,firebase,firebase-realtime-database,Javascript,Firebase,Firebase Realtime Database,我正在制作一个访问Firebase实时数据库的web应用程序。当输入新数据时,数据库将具有动态大小 例如: 每个元素都包含一个不相关的对象 我已经硬编码了尺寸,并支持循环(js): for(设i=0;i

我正在制作一个访问Firebase实时数据库的web应用程序。当输入新数据时,数据库将具有动态大小

例如:

每个元素都包含一个不相关的对象

我已经硬编码了尺寸,并支持循环(js):

for(设i=0;i
所获得的
数据
是与元素关联的对象

当我知道数据库的确切的、不变的大小时,这是可行的,但是当一个新对象作为新元素添加到数据库中时,我的循环将不会访问它,因为数据库的大小现在更大了


如何使用Firebase的语法访问此动态数据库中的数据?可能会涉及到
try…catch
,但我不太确定。

Firebase
DataSnapshot
有一个内置的
forEach
方法正是为了这个目的。因此,您可以加载整个父节点,然后使用以下命令在客户端对其进行循环:

const snapshot = await firebase.database().ref().once('value');
snapshot.forEach((child) => {
    let data = child.val();
});
顺便说一下,Firebase建议不要使用顺序数字索引作为键。有关原因的解释,请参阅

const snapshot = await firebase.database().ref().once('value');
snapshot.forEach((child) => {
    let data = child.val();
});