【发布时间】:2014-09-07 15:50:51
【问题描述】:
我正在尝试从两个表中获取数据,例如(获取所有用户及其详细信息)
tableOne.on('users', function (snapshot) {
userId = snapshot.val().userId; // line 1 (results like 1,2,3,4,5,6)
anotherTable.child('userdetails').child(userId).once('value', function(mediaSnap) {
// result // line 2
});
});
但问题是第 1 行首先执行 6 次,然后第 2 行执行 n 次,导致每次都在寻找“用户 ID 所在的位置 - 6”...Firebase 不支持加入吗?
感谢任何帮助
【问题讨论】:
-
您可能应该阅读这篇文章:firebase.com/blog/2013-10-01-queries-part-one.html#join 并考虑使用这个库:firebase.github.io/firebase-util。另请注意,
on('users'不是有效事件。您可能正在寻找on('value'或on('child_added'。 -
弗兰克,我只处理第一个链接,但问题是他们正在获取单个详细信息,我想从第一个表中获取所有详细信息并从第二个表中获取相应详细信息
-
第二个链接看起来更好,会看看它是否可以帮助我......谢谢
-
我尝试根据您提供的代码重现您的问题,但没有成功(在我将
on('users'更改为on('child_added'之后)。您可以更新此 jsbin 以使其重现问题吗? jsbin.com/zifeqi/1/edit -
感谢弗兰克,你付出了巨大的努力......是的,我已经更改了代码......请查看控制台,您将看到结果集具有相同的用户 ID
标签: javascript firebase