更新 Firebase 多位置并出现错误:路径是路径的祖先。迅速

2023-11-29

当我尝试使用以下命令在多个位置更新数据库时
.updateChildValues,我收到下面列出的错误。我怎么解决这个问题?

由于未捕获的异常“InvalidFirebaseData”而终止应用程序, 原因:'(updateChildValues:)对象中的路径无效。小路 (/Payments/osGRNIZzbRWtllehAXbGJ5NtmRe2/1513178895/730890027) 是一个 的祖先 (/付款/osGRNIZzbRWtllehAXbGJ5NtmRe2/1513178895/730890027/预订)。

      let timeStamp = String(Int(Date().timeIntervalSince1970))
        let paymentRef = self.random9DigitString()

        var finalBookingArray = [String: AnyObject]()
        for booking in self.bookingsFromQuery {

            let bookingForPayPeriod = DisbursePaymentData(

                numberOfHours: booking.NumberOfHours,
                bookingAmount: booking.BookingAmount,
                amountPaidToCleanerForBooking: booking.AmountPaidToCleanerForBooking ?? "",
                checkInDate: booking.checkInDate ?? "",
                checkOutDate: booking.checkOutDate ?? "",
                checkInTimeStamp: booking.checkInTimeStamp ?? "",
                checkOutTimeStamp: booking.checkOutTimeStamp ?? "",
                ratePriceClient: booking.RatePriceClient ?? "",
                rateNumberClient: booking.RateNumberClient ?? "",
                ratePriceCleaner: booking.RatePriceCleaner ?? "",
                rateNumberCleaner: booking.RateNumberCleaner ?? "",
                cancelledBy: booking.objectsUnderCancelledBy)

              let bookingCompleted = bookingForPayPeriod.convertDisbursePaymentDataToAnyObject()
                finalBookingArray[booking.BookingNumber] = bookingCompleted
        }

        let finalObject = DisbursePaymentData(
            payPeriodDateStartDate: self.fromDateString.text!,
            payPeriodEndDate: self.toDateString.text!,
            payPeriodTimeStampStartDate: String(describing: self.startDateTimeStamp),
            payPeriodTimeStampEndDate: String(describing: self.endDateTimeStamp),
            paymentRef: paymentRef)

      let objectComplete = finalObject.toAnyObj()
          let childUpdates = ["Payments/\(uid)/\(timeStamp)/\(paymentRef)" : objectComplete,
                              "Payments/\(uid)/\(timeStamp)/\(paymentRef)/\("bookings")" : finalBookingArray
        ] as [String : Any] 

    self.dbRef.updateChildValues(childUpdates)

schema:

Payments  
 -timeStamp
   -paymentRef


       payPeriodDateStartDate: date1
       payPeriodEndDate: - date 2
       payPeriodTimeStampStartDate: tstamp1
       payPeriodTimeStampEndDate:   tstamp2
       paymentRef: generate9DIgits
       Total:
       allfees: 
       netPay:
       //---->>the key:value pairs above represent objectComplete that I set above

      - bookings  // -> this is finalBookingArray that I set above
           booking1
             - hours: 
             - originalPriceOfBooking
             - amountPaidToCleanerForBooking
             -ratePriceClientContent
             -rateNumberClientContent
             -ratePriceCleanerContent
             -rateNumberCleanerContent
             -checkInDate:
             -checkOutDate:                    
             -checkInTimeStamp:
             -checkOutTimeStamp:
             -cancelledBy
               -timeStamp
                   values under timeStamp
 booking2

None

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

更新 Firebase 多位置并出现错误:路径是路径的祖先。迅速 的相关文章

随机推荐

  • 如何在 Windows 上安装犰狳?

    我需要安装并使用Armadillo库来处理线性代数 我去了他们的网站并下载了 tar xz文件 但我不知道如何安装它 我怎样才能安装Armadillo 我主要使用Dev C 但我有时也使用XCode 如果您使用的是 Windows 则可能会
  • Bio.SeqUtils.molecular_weight() 函数在 molecular_weight 间隔内打印序列时出错

    我正在尝试在 python 中创建一个函数 给定一个 不 模糊的序列 并且分子量间隔返回该序列表示的所有明确序列的列表 我用以下代码尝试了这一点 def extend ambiguous dna file name mw min mw ma
  • JavaScript 正则表达式全局匹配组

    Update 这个问题几乎是重复的this 我确信我的问题的答案就在那里 但我找不到词语来简洁地表达它 我正在尝试使用 JavaScript 正则表达式执行以下操作 var input Warehouse Local Release Loc
  • 在 Fluent Nhibernate 中使用多个数据库,System.TypeInitializationException 未处理

    我试图实施连接多个数据库的 Fluent NHibernate 示例应用程序 我的流利 NHibernate存储库如下 namespace RepositoryExample Repository NHibernate public cla
  • TCP:地址已在使用异常 - 客户端端口的可能原因?没有端口耗尽

    愚蠢的问题 我从连接到服务器的客户端获取这些信息 遗憾的是 设置很复杂 调试也很复杂 而且我们没有其他选择 环境 客户端 服务器系统 两者运行在同一台机器上 客户端实际上是一个在特定时间进行一些数据库操作的服务 连接来自 C 通过 OleD
  • Android 重复通知在应用程序关闭时不起作用

    我想每天在特定时间发送通知 打开应用程序时 代码正在运行 但当它关闭并删除时 通知不会显示 我已经为此使用了广播接收器和服务 代码如下 任何人都可以帮助解决这个问题 清单文件
  • 取消时协程取消注册接收者

    当服务停止时 我的协程泄漏了广播接收器 这是因为服务在回调完成之前停止了 如何以允许我注销接收器的方式取消协程 The Service工作原理如下 class DataCollectorService Service var job Job
  • 组合列表元素

    如何合并 组合列表中的两个或三个元素 例如 如果有两个元素 则列表 l l a b c d e 1 2 3 4 5 被合并到 a 1 b 2 c 3 d 4 e 5 但是如果有三个元素 l a b c d e 1 2 3 4 5 I II
  • Java 准备好的语句未执行

    我创建了一个小型的三层程序 包括 前端 gt servlet gt 数据库 前端我在表单中输入一些详细信息 它们被传递到 servlet 该 servlet 将呈现一些 HTML 并显示输入到表单中的值 同时还调用 DatabaseHelp
  • 根据另一个集合中特定文档的存在情况,将集合中的文档发布到 Meteor 客户端(发布与关系)

    我有两个收藏 优惠 相关字段 id ShareRelations 相关字段 接收者ID and offerId 我只想向登录用户发布已共享给他的优惠 实际上 我是通过使用辅助数组 visibleOffers 来完成此操作 我通过循环每个 S
  • 编码 javascript url 以传递 #(hashtag)

    我将 URL 传递给 PHP 文件 在其中更改一些颜色等 其中一种颜色是 ccc并被传递为 background ccc这破坏了我的 PHP 文件 它停止了我的 GET该主题标签处的参数 之后的所有内容都不会传递 我尝试将我的网址编码为en
  • 反射式 Web 应用程序 (WebIDE)

    Preamble 所以 这个问题已经得到了解答 但由于这是我对该项目的第一个问题 我将继续在我对该项目提出的其他问题中引用它 对于来自另一个问题的任何人 以下是基本想法 创建一个 Web 应用程序 可以使创建其他 Web 应用程序或网站变得
  • 在 Fortran 中查找数组中满足条件的最小值[索引]

    我正在寻找数组中大于某个数字的最小值 我发现这次讨论我不明白 有MINLOC 但看起来它本身并没有达到我想要的效果 尽管我没有解析给定示例中传递给它的参数 也可以使用循环来完成此操作 但可能很笨拙 你可能想要MINVAL 如果你的数组是这样
  • 在处理程序中创建了一个 Promise,但没有从中返回

    我刚刚开始使用 Bluebird Promise 但遇到了一个令人困惑的错误 代码摘要 var jQueryPostJSON function jQueryPostJSON url data return Promise resolve j
  • D3 Y 轴似乎颠倒了

    我正在尝试根据 CSV 文件中的一些数据生成图表 My code
  • 如何检测 Azure 网站上的 HTTPS 重定向?

    根据标题 我有一个 Node js 应用程序 我希望能够检测请求是通过 HTTPS 还是 HTTP 发出 到目前为止我的重定向看起来像这样 Ensure the page is secure or that we are running a
  • 列表中的数据表

    我已经下载了包含在List
  • Java中如何处理关闭应用程序事件?

    拥有一个控制台应用程序 一个接受来自客户端的多个连接的服务器 是否可以在关闭的应用程序上拥有侦听器或事件 在这种情况下 我希望告诉所有连接的客户端在应用程序真正自行关闭之前轻轻断开连接 有什么解决办法吗 谢谢你 您想使用关闭挂钩 Runti
  • 在Win32中,如何改变STATIC文本的颜色?

    我的窗口上有一些黑色的静态文本 我想在运行时使用颜色选择器对话框更改它 我已经成功获得了颜色 现在我只需要更改文字即可 我读过WM CTLCOLORSTATICmessage 是要处理的消息 尽管这似乎仅适用于控件最初绘制到屏幕上时 可以W
  • 更新 Firebase 多位置并出现错误:路径是路径的祖先。迅速

    当我尝试使用以下命令在多个位置更新数据库时 updateChildValues 我收到下面列出的错误 我怎么解决这个问题 由于未捕获的异常 InvalidFirebaseData 而终止应用程序 原因 updateChildValues 对