如何管理应用程序中到 Firebase 数据的动态路径

2024-03-24

我的 Firebase 中有如下数据(这是一个基于 Javascript 的 Web 应用程序):

bids
    400
        1
            50.00
        2
            60.00
    401
        1
            55.00
        2
            65.00

400和401指的是拍卖号码。 1 和 2 指的是每次拍卖中的个别拍品。第三级是投标金额。

我通过观察 child_added 向用户显示所有出价的列表,如下所示:

dataRef.child('bids').child(auction).child(lotno).on('child_added', function(data){...});

当应用程序首次加载时,尚未分配拍卖或批号。而且随着拍卖的进行,拍品号(甚至可能是拍卖编号)会发生多次变化。

在这种情况下,我对如何维护实时出价列表感到困惑。当应用程序首次加载时,我的变量“auction”和“lotno”的值为“未定义”,因此我从 Firebase 收到“无效路径”错误。

我也不确定如果变量(以及路径)发生变化,我的 child_added 会发生什么。 child_added 是否会加载新路径上的所有现有数据,并从该点开始监视新的子项?

关于如何处理应用程序的初始状态(变量尚未填充)有什么建议吗?


由于您正在像这样构建查询:

dataRef.child('bids').child(auction).child(lotno).on(...

您将必须创建附加一个新的侦听器(然后将off现有的侦听器)每次之一action or lotno变量发生变化。

听起来好像只能有一个当前批次一次,这可能会使将其建模到数据模型中更有用:

bids
    400
        1
            50.00
        2
            60.00
    401
        1
            55.00
        current
            65.00

然后,一旦当前批次的投标结束,您可以将其“退出”到正确的批次编号位置,并使下一个批次成为current。有了这样的数据结构,你的拍卖听众就可以一直在观看current:

dataRef.child('bids').child(auction).child('current').on(...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何管理应用程序中到 Firebase 数据的动态路径 的相关文章

  • 在 iPad 上调试 Javascript

    我想知道人们是否找到了任何有用的工具来在未越狱的 iPad 上调试 javascript 这是一款用于工作的 iPad 因此无法越狱 通过一些繁琐的步骤 我已经在 iPad 上运行了 firebug lite 但是我的 javascript
  • 使用 Gmail 上下文小工具访问附件

    我想将电子邮件及其附件从 Gmail Google Apps 保存到另一个数据库以实现类似 CRM 的功能 然而 根据docs http code google com apis gmail gadgets contextual 提取器无法
  • 如何精确缩放已翻译的d3地图

    我有一张已翻译的地图 以使其正确适合画布 我正在尝试实现一种缩放它的方法 它确实有效 但是当您放大时它会远离中心 而不是以鼠标甚至画布为中心 这是我的代码 function map data total views var xy d3 ge
  • 从 ES6 模块导入函数表达式或函数声明有什么区别?

    据我了解 参见第 16 3 2 1 节 http exploringjs com es6 ch modules html ES6 允许函数 类导出操作数使用不同的语法 区别在于导出的函数是否需要在导入时解释为函数声明 在这种情况下 您可以编
  • 光标:IE 8 和 9 中的自动行为

    我想要的是为整个正文标记指定cursor pointer 这样页面的背景是可点击的 但我也希望页面的其余部分像以前一样工作 所以我尝试为div设置cursor auto 其中包含这一页 在 FF Chrome 和 safari 中 它工作得
  • FRebase 电话身份验证支持哪些国家/地区?

    有谁知道 Firebase 电话身份验证是否适用于印度电话号码 我成功实施并为美国号码工作 1xxxxxxxxxx 但当我尝试使用印度电话号码时未收到短信 不确定是它不起作用还是我错过了一些东西 我发送为 91xxxxxxxxxx 上一篇博
  • 预加载 javascript 和 css 文件

    我目前正在开发一个移动网站 该网站大量使用图像 CSS 和 JavaScript 例如 它使用未压缩的 150KB 的库 我为图像构建了一个预加载器 效果相当好 function loadImages images var sum 0 fo
  • Moment.js 动态更新时间(以秒为单位)

    我试图显示时钟 that 每秒更新一次 e g 2015 年 1 月 5 日 12 05 01 它似乎对我来说工作得很好 对于相同的代码 并且只有 moment min js 指向v2 11 0 看看代码 来源 MilkyWayJoe va
  • 用于更改密码的 Firebase 云函数侦听器

    在 Firebase 文档中找不到它 但是是否有像创建帐户时那样的密码更改监听器 functions auth user onCreate 目标 向用户发送一封电子邮件 告知其密码已在 Web 应用程序中更改 No 没有 Firebase
  • 使用淘汰赛动态显示/隐藏元素

    我有一个表 有四列 即代码 名称 数量和价格 其中 我想动态更改数量列的内容 元素 通常 它应该显示其中显示数量的元素 当用户单击元素时 我想显示该元素 以便用户可以编辑数量 我正在尝试按照 示例2 来实现淘汰赛文档链接 http knoc
  • 如何将OpenLayers多边形坐标转换为纬度和经度?

    我正在使用开放层 https openlayers org en latest examples draw freehand html绘制多边形并保存坐标的技术 这是我的代码 var raster new ol layer Tile sou
  • 如果突出显示一个单词并且用户单击连接单词,则同时突出显示两个单词

    我最近发布了一个question https stackoverflow com questions 34963610 how can i highlight a word term quicker and smarter寻求一种更智能地突
  • 如何获取从 Express (Node.js) 中的表单传递的数据

    我想获取使用表单从页面传递的数据 并在重定向的页面中使用该数据 我的客户端有这个表格
  • redux - 如何存储和更新键/值对

    我正在使用 redux 和 React js 我想存储简单的键 值对 但无法获得正确的减速器语法 在这种情况下 每个键 值对将保持与外部系统的连接 这是正确的做法吗 我刚开始使用 redux 所以这有点神秘 export default s
  • 除非打开开发人员工具,否则 IE8 Javascript 无法运行?

    由于某种原因 在 IE8 中 除非我在打开开发工具的情况下重新加载页面 否则 javascript 不会运行 我关闭开发人员工具并重新加载页面 然后 javascript 停止工作 我没有收到任何错误报告 无论如何它们也没有任何用处 还有其
  • 禁用移动设备上的锚点菜单点击

    我使用嵌套列表作为带有子菜单项的菜单 我曾经这样做过 如果您将鼠标悬停在主菜单项上 子菜单项将通过将显示从无更改为块来出现 我决定让子菜单看起来就像是下拉的 并使用了 CSS 过渡 我遇到的问题是 在第一种方法中 如果您触摸 iPad 上的
  • javascript 闭包和对象引用

    我的情况有点晦涩难懂 主要是因为我认为我已经掌握了闭包 所以基本上我想要的是将集合重置为默认值 假设我有一个集合 它具有带有对象参数数组的构造函数 var c new collection x y z 然后集合定期更新 因为我没有保留数组的
  • 如何更改数据表中标题单元格的内容?

    我正在使用数据表 http datatables net plugin 在我的可排序列上 我想用按钮替换列文本 但是这样做 oSettings aoColumns i nTh text 我可以检索相应列的文本 但是 oSettings ao
  • 引导网格中的绘图图周围有巨大的空白

    我有一个 Net 应用程序 我试图在其中使用创建一个图表bootstrap js and plotly js 当我创建响应式图表时 我遇到网格中存在巨大空白的问题 我发现问题的一部分是plotly svg container的大小默认高度为
  • “memset”没有 DLL 那么如何 ctype 它

    如何使用memset在 jsc 类型中 没有对应的 DLL 我搜索 搜索了 js ctype 代码 但找不到要破解的示例 如果你只是想memset一个数组为零字节 然后我有 好消息 大家 js ctypes 会将新数组初始化为零 否则 最简

随机推荐

  • 将 Option[x]“转换”为 x

    我正在使用 Scala 2 1 的 play 我需要转换Option Long 价值Long 我知道如何做相反的事情 我的意思是 def toOption Long value Long Option Long if value null
  • 在OpenSSL中使用RSA公钥生成相应的私钥?

    我知道可以使用这个链接 https www ibm com support knowledgecenter en SSWHYP 4 0 0 com ibm apimgmt cmc doc task apionprem gernerate s
  • React-Native:Formik ref 无法获取值

    我在react native中有一个带有formik形式的虚拟登录代码 import React Component from react import TextInput Text Alert Image View TouchableOp
  • 蛋糕模式可以用于非单例样式依赖吗?

    我遇到的大多数蛋糕模式示例似乎都将依赖关系视为单例类型服务 其中 在组件的最终组装中每种类型只有一个实例 当使用蛋糕模式进行依赖注入时 是否可以编写一个具有多个特定类型实例的配置 可能以不同的方式配置 考虑以下组件 通用 HTTP 服务 t
  • 将正则表达式从 .NET 转换为 javascript 时出错

    我有这段 VBNet 代码 我想将其转换为 JavaScript Dim phone check pattern 0 9 1 3 0 9 0 9 x X e E x X t T 0 9 0 9 System Diagnostics Debu
  • 在 bash 脚本中发送邮件输出文字 \n 而不是换行

    我正在使用以下 bash 脚本发送电子邮件 bin bash recipients email protected cdn cgi l email protection email protected cdn cgi l email pro
  • 如何在 IntelliJ IDEA 中运行 Scala 脚本?

    这是一个简单的 Scala 脚本 object test def hi print hi there from here test hi 从命令行它会执行预期的操作 scala shared scaladem src main scala
  • 如何将值应用于函数列表

    我想要实现的是 apply a gt a gt b gt b 这是一种映射的逆 map a gt b gt a gt b 我试过胡格尔 但没有成功 任何人都可以建议一种在 Haskell 中执行此操作的干净方法吗 apply a gt a
  • 如何向 javascript 对象添加键值

    我正在努力学习JS 这看起来很简单 但我不知道该怎么做 拥有基于此的 javascript 对象很好thread https stackoverflow com questions 688097 objects vs arrays in j
  • 如何处理 nil 值变量

    我有如下模型 struc Info Decodable var firstName String var lastName String 在表格视图单元格中显示时 我正在做的事情如下 personName text personArray
  • 使用 APP Store 配置文件导出 iPhone 应用程序时出现“符号工具失败”错误

    成功存档后 在将存档导出到 保存以进行应用商店部署 时 出现以下错误 符号工具失败 在导出过程中 我观察到 二进制和权利 部分有两个条目 1 应用商店 targetAppName 5 个权利 具有有效的配置文件 2 构建文件之一FTALDe
  • 从扩展内获取 Chrome 选项卡的窗口句柄?

    我编写了一个 Chrome 扩展 也带有 NPAPI 允许我的应用程序和 Chrome 相互通信 这一切基本上都工作正常 我现在想做的是将 Chrome 窗口的 HWND 绑定到特定的窗口 ID 和选项卡 ID 当我在 Chrome 中 通
  • 我可以弹出到特定的 ViewController 吗?

    我正在使用基于导航的应用程序 我将第一个 ViewController 推到第二个 ViewController 然后从第二个 ViewController 推到第三个 ViewController 现在我想从第三个 ViewControl
  • 配置配置文件不支持无线配件配置功能

    从 Xcode 7 3 升级到 Xcode 8 后 出现错误 供应配置文件 iOS团队供应配置文件 没有 支持无线配件配置功能 我可以知道如何解决这个问题吗 您应该在苹果的开发者门户中启用它 转到 应用程序 ID 并编辑您的应用程序 检查W
  • Omniauth Facebook 不返回电子邮件和性别栏 4

    我需要从 Facebook 获取姓名 电子邮件 图像和性别 我正在获取姓名和图像 但电子邮件和性别不是从 Facebook 获取的 我这两天都在苦苦挣扎 谁能帮帮我 用户模型 def self from omniauth auth wher
  • 在 Kindle Fire 上调试 Adob​​e AIR 应用程序

    可能的 我认为要做到这一点 我需要将 Fire 上的 AIR 运行时升级到 3 但应用商店中的版本无法安装 据我所知 我无法创建既是强制运行时又是调试的 AIR apk 因此应用程序的调试版本必须在安装的 AIR 运行时上运行 由于 Fir
  • 如何创建从 C++17 中的可变参数模板推导的类型向量元组?

    我已经实现了一个集合类 它将元组向量转换为向量元组 它本质上是 AOS 到 SOA 的转换 此代码适用于两个模板类的示例 我试图通过使用可变参数模板使其更加通用 为了做到这一点 我需要为成员变量创建类型m col 在 C 17 中 是否可以
  • Java - 重置输入流

    我正在处理一些Java代码 其中有一个我读取了一次的InputStream 然后我需要以相同的方法再次读取它 问题是我需要将其位置重置为开头才能读取两次 我找到了一个解决该问题的黑客式解决方案 is mark Integer MAX VAL
  • 是否应该在客户端 jar 中提供依赖库?

    我们正在为其他内部应用程序提供一个客户端 jar 以连接到我们应用程序的 REST API 我们的 API 依赖于一些标准 Jakarta 库 将这些 JAR 文件包含在我们的客户端 jar 文件中是否是最佳实践 或者您只是记录依赖关系 并
  • 如何管理应用程序中到 Firebase 数据的动态路径

    我的 Firebase 中有如下数据 这是一个基于 Javascript 的 Web 应用程序 bids 400 1 50 00 2 60 00 401 1 55 00 2 65 00 400和401指的是拍卖号码 1 和 2 指的是每次拍