Firebase 错误地显示已删除的数据/Swift 3/Xcode 8.2

2024-04-25

我是编码新手,刚刚开始使用 Firebase,我正在运行以下函数,该函数基本上是尝试创建 2 个节点:“锦标赛”和“每日游戏”(如果它们尚不存在)。

数据库树应该如下所示:

-London
  -City Game
      -Date(stringDate)  // getting this from another function, returns 2016-16-12
           -Tournaments
           -Daily Games

代码如下所示:

     func createTournamentsAndNonTournamentsNodes() {

        let databaseRef = FIRDatabase.database().reference()
        self.getLiveTimestamp()  // this calls a function that returns timestamp


        databaseRef.child("London/City Game/\(stringDate)").observeSingleEvent(of: .value, with:  { (snapshot) in

            if snapshot.hasChild("Daily Games") {
                print ("Daily Games node exists already")
            print(snapshot.key)
            print(snapshot.value as Any)
            } else {
                print ("Daily Games dont exist, creating it now")
                let postTwo : [String : AnyObject] = [("Daily Games") : "Initiated today at : \(self.timeStampString)" as AnyObject]

                databaseRef.child("London/City Game/\(stringDate)").child("Daily Games").updateChildValues(postTwo)
            }
            if snapshot.hasChild("Tournaments") {
                print ("Tournaments node exists already")
            print(snapshot.key)
            print(snapshot.value as Any)
            } else {
                print ("Tournaments dont exist, creating it now")
                let postOne : [String : AnyObject] = [("Tournaments") : "Initiated today at : \(self.timeStampString)" as AnyObject]
                databaseRef.child("London/City Game/\(stringDate)").child("Tournaments").updateChildValues(postOne)
            }
        })
    }

因此,在空数据库上运行上述命令的结果是控制台打印“每日游戏节点已存在”和“锦标赛节点已存在”,键和值如下。但问题是,这些是我在 1 小时前的上次运行中创建的,并立即从 Firebase Web 控制台手动删除,以测试代码,使我的数据库在再次运行代码之前完全清空。因此,重新加载 Firebase 控制台会显示一个空数据库,但我的代码会打印此内容,就好像数据存在于数据库中一样。这怎么可能?尽管在网络控制台上显示为空,Firebase 是否会保留数据一段时间?

Optional({

    "Daily Games" = "Initiated today at : 13:01:19";
    Tournaments =     {
        Tournaments = "Initiated today at : 13:05:22";
    };
})

我究竟做错了什么?如果我的代码显示了一个已填充的数据库,但我的 Web 控制台显示了一个空数据库,如何真正辨别数据库中有哪些内容和没有哪些内容?非常感谢

UPDATE:

我有 FIRDatabase.database().persistenceEnabled = true 并且还在真实设备上运行它。禁用 persistenceEnabled 后,它工作得非常好。在不禁用 persistenceEnabled 的情况下解决此问题的方法是什么?


嗯,这是我的建议。

我遇到了几乎同样的问题,为了解决这个问题,我从observeSingleEvent to observe然后 Firebase 不仅会查看您的手机,因为当您这样做时它就会执行此操作。

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

Firebase 错误地显示已删除的数据/Swift 3/Xcode 8.2 的相关文章

随机推荐

  • 更改 ggplot2 中的 Y 轴分隔符

    我有这段代码可以给出如下所示的图表 d ggplot df aes x Year y NAO Index width 8 geom bar stat identity aes fill NAO Index gt 0 position ide
  • Google 地图 v3 API - 自动完成(地址)

    尝试让我的谷歌地图应用程序自动完成工作 这是当前的代码 HTML
  • ScrollLeft() 不适用于 Firefox

    我这里有一个 jsfiddle http jsfiddle net stevea DyfGp 2 http jsfiddle net stevea DyfGp 2 其中外框包含延伸到视口之外的内框 这会强制出现水平滚动条 一个 向左走 Sc
  • Git 推送失败(Github/RStudio)

    我过去曾在这台机器上成功使用过 Git 但突然间我无法再将我的提交推送到 Github 存储库 我对 Git 工具链所做的最后一次更改是除了 Windows 客户端的 Github 之外还安装了 Git 1 8 5 2 除非我已经启动了 G
  • 真正的C静态局部变量替换?

    只是试图在 ObjectPascal Delphi 中实现 C C 静态局部变量的类似功能 让我们在 C 中编写以下函数 bool update position int x int y static int dx pow 1 0 rand
  • VS Code 终端无法识别 PATH 变量

    我在 PATH 中添加了一个目录 但 VS Code 中的终端无法识别我尝试从该目录运行的命令 exe 终端使用 cmd 而不是 power shell 我缺少什么 重新启动我的计算机 它就工作了 显然 VS Code 无法识别这些更改
  • 为什么插入查询有时需要很长时间才能完成?

    这是一个非常简单的问题 将数据插入表中通常工作正常 除了少数情况下插入查询需要几秒钟的时间 我是not尝试批量插入数据 因此 我为插入过程设置了一个模拟 以找出为什么插入查询偶尔需要超过 2 秒才能运行 Joshua建议索引文件可能正在调整
  • iPhone 应用程序和 PayPal

    我想将 PayPal 支付功能集成到我的本机 iPhone 应用程序中 而不使用 Web 界面 这样用户就不必离开当前应用程序 怎么可能 我应该使用 SOAP XML 请求 响应机制吗 我通过以下链接来的http www slideshar
  • 如何在keycloak登录页面实现Recaptcha

    我想在 keycloak 登录页面 如注册页面 中实现 recaptcha 我用所需的工厂类扩展了 UsernamePasswordForm 类 我什至还开设了行动要求课程 但我仍然看不到在提供程序选项卡中添加登录 我也修改了现有的logi
  • 如何禁用 C++ 宏中的警告

    在 Visual C 中 您可以使用 pragma 暂时禁用警告 pragma warning suppress 4307 如何禁用宏内的警告 例如 当我导致如下所示的 积分常量溢出 警告时 define TIMES A MILLION x
  • android 旋转器的屏幕方向处理

    我有一个活动 其中有一个旋转器 因为对于纵向和横向模式我有不同的布局所以我正在改变布局onConfigurationChanged method Override public void onConfigurationChanged Con
  • 多个资源的 REST 接口使用

    我目前正在通过 http 添加 REST API 到在线服务 我遇到了一个非常简单的问题 我找不到令我满意的答案 我主要有 2 个资源 用户 和 报告 正如您所猜测的那样 报告与用户相关联 与一个且仅一个 我的数据库中的外键 不管怎样 我有
  • Elastic Search 5.x 嵌套多个查询 C#

    我将 C 与这些 nuget 包一起使用
  • 有没有办法匹配规范中 Mockito 模拟对象的按名称调用参数?

    我正在使用一些方法测试一个对象和另一个对象之间的交互呼唤名字论据 但是 我不知道如何为该按名称调用参数创建参数匹配器 假设这是模拟对象的签名 def fn arg1 gt String arg2 Int Any 然后我真正想做的是测试是否使
  • 调整某一特定一侧的边框

    我正在使用 ListBox 的 controlTemplate 来显示集合 我想显示带有边框的所有项目 就像在网格中一样 所有行的大小相同 当我给每个 listBoxItem 一个边框时 两个项目之间的线具有双倍大小 由第一个项目的底部边框
  • 更改变量值 scss

    我在我的 scss 文件中定义了不同的变量 我在一些 scss 文件中使用了这些变量 变量 scss light theme rgba 94 161 215 0 3 dark theme 5EA1D7 darker theme 57647A
  • C# 管理窗口事件

    我想使用 C 从 Windows 事件日志中删除事件 谁能指出我如何实现这一目标的正确方向 Easy 但删除看起来像从数组中删除项目 您需要复制所有数组 但需要删除的项目除外 有一个示例 如何 从日志中删除项目具有非偶数索引的每个项目 us
  • 动画添加类/删除类?

    活生生的例子在这里 http timkjaerlange com foobar stack stuff august 18 2010 test html http timkjaerlange com foobar stack stuff a
  • 引用的项目在编译时“丢失”

    我有一个包含两个项目的 C 解决方案 一个服务 主项目 和一个记录器 该服务使用记录器中的类 我在服务项目中添加了对记录器项目的引用 在设计时 自动完成工作正常 记录器的类是可见的 我使用的引用具有适当的颜色 我重建解决方案 但出现问题 不
  • Firebase 错误地显示已删除的数据/Swift 3/Xcode 8.2

    我是编码新手 刚刚开始使用 Firebase 我正在运行以下函数 该函数基本上是尝试创建 2 个节点 锦标赛 和 每日游戏 如果它们尚不存在 数据库树应该如下所示 London City Game Date stringDate getti