当前位置: 首页 > 知识库问答 >
问题:

Firebase数据库同步调用问题

鲍国兴
2023-03-14

我是消防队的新手。我在用firebase数据库。其中我有两个节点,一个有用户信息,第二个有来自用户的所有评论。这些是数据库结构

用户节点

我要做的是获取一篇文章的所有评论,然后从评论节点获取from_key,这实际上是对文章发表评论的用户键,然后从Firebase获取特定的用户信息。我写了以下代码。

$(".all_firebase_keys").each(function () {
                    database.ref('comments/' + $(this).val()).on('child_added', function (snapshot) {
                        values = snapshot.val();
                        console.log(values.comment);
                        snapshot.forEach(function (path) {
                            if (path.key == "from_key") {
                                database.ref('users/' + values.from_key).once("value", function (user) {
                                    console.log(values.comment + "  " + user.val());
                                });
                            }
                        })
                    });
                });
    null
  1. 评论1用户a
  2. 评论2用户b

共有1个答案

徐正雅
2023-03-14

最后,我在这个链接的帮助下找到了自己的解决方案。我正在分享帮助链接和我的代码,也许它会对其他人有所帮助。

$(".all_firebase_keys").each(function () {
            id = "#"+$(this).val();
            commentsRef.child($(this).val()).orderByChild('timestamp').on("child_added", function (snap) {
               users = usersRef.child(snap.val().from_key);
               users.once("value", function (snapshot) {

                   $("#"+snap.ref.parent.key).append('<p>'+snapshot.val().first_name +" "+ snap.val().comment+'</p>');
               })
            });
        });
 类似资料:
  • Firebase提供了它们在空闲层中支持最多100个同时连接的信息。 问题1)假设我的数据库中有一个表,应用程序用户可以在屏幕上看到该表。每当我更新表格时,内容的变化也会反映在应用程序中(在手机上)。由于最大同时连接数设置为100,这是否意味着Firebase一次只能为100个用户刷新内容(在用户端)? 问题2)有人知道用户在与实时数据库交互后保持连接状态的时间吗? (很遗憾,这个问题没有代码,但

  • “同步到数据库”功能让你比对物理模型和现有数据库或模式,显示它们之间结构的差异,并提供同步模型的结构到目标连接。 Navicat 提供一个向导,一步一步指导你完成任务: 选择“文件”->“同步到数据库”。 选择源数据库、模式,然后从现有的连接中选择目标连接、数据库、模式。 点击“选项”并选择比对或高级选项。 点击“比对”以显示源对象和目标对象之间的差异。 选择要同步的对象。 点击“部署”以生成一组

  • “同步到数据库”功能让你比对模型和现有数据库或模式,显示它们之间结构的差异,并提供同步模型的结构到目标连接。 Navicat 提供一个向导,一步一步指导你完成任务: 选择“文件”->“同步到数据库”。 选择源数据库、模式,然后从现有的连接中选择目标连接、数据库、模式。 点击“选项”并选择比对或高级选项。 点击“比对”以显示源对象和目标对象之间的差异。 选择要同步的对象。 点击“部署”以生成一组脚本

  • “同步到数据库”功能让你比对物理模型和现有数据库或模式,显示它们之间结构的差异,并提供同步模型的结构到目标连接。 Navicat 提供一个向导,一步一步指导你完成任务: 选择“文件”->“同步到数据库”。 选择源数据库、模式,然后从现有的连接中选择目标连接、数据库、模式。 点击“选项”并选择比对或高级选项。 点击“比对”以显示源对象和目标对象之间的差异。 选择要同步的对象。 点击“部署”以生成一组

  • 同步能够部分智能的根据结构体的变动检测表结构的变动,并自动同步。目前有两个实现: Sync Sync将进行如下的同步操作: * 自动检测和创建表,这个检测是根据表的名字 * 自动检测和新增表中的字段,这个检测是根据字段名 * 自动检测和创建索引和唯一索引,这个检测是根据索引的一个或多个字段名,而不根据索引名称 调用方法如下: err := engine.Sync(new(User), ne