【问题标题】:Accessing MultiLevel Nested Children in Firebase Database Swift 3在 Firebase 数据库 Swift 3 中访问多级嵌套子级
【发布时间】:2018-08-04 08:02:46
【问题描述】:

我正在使用 Firebase 实时数据库。

我有一个对应于客户表的客户 ID。我需要获取其各自的公寓名称。然后在公寓表中搜索具有相同公寓名称的记录。找到后,我需要从其各自的段中获取所有 serviceType 值。还需要从公寓表中获取它的块。

表结构如下:

customer
  -L1x2AKUL_KNTKXyza
    apartment_name:"ABC Residency"


appartment
  -L1Ohec4nW-ya_SkiG49
    apartment_name:"ABC Residency"
    block: "A Wing"
    segments
      -L1OhecGtEk_8xdNs67T
        serviceType:"Mopping"
      -L1OhecGtEk_8xdNs631
        serviceType:"Cleaning"

我只想使用一个 firebase 数据库引用对象来实现这种多级访问。

任何帮助将不胜感激!

【问题讨论】:

  • 为什么要将公寓名称存储在客户表中?您应该存储公寓的参考。这将解决搜索问题。
  • 我还没有设计数据库。这是预期的功能,根本无法修改数据库
  • 这个问题是一个基本的 Firebase 观察,然后是一个查询;在节点 -L1x2A 上观察SingleEvent,然后获取 apartment_name,然后在 apartment 节点上对该名称执行查询 - Firebase 入门指南 Working With Lists 对此进行了介绍.你有一个具体的问题吗?您能否展示您的代码并让我们知道问题出在哪里?
  • 我正在创建多个相互嵌套的 DatabaseReference 对象。有什么办法可以优化这个来达到上述目的吗?
  • 此外,我还进行了公寓名称过滤。但无法获得该公寓的细分市场。这是代码: Database.database().reference() .child("appartment") .queryOrdered(byChild: "appartment_name") .queryEqual(toValue: apartmentName) .observeSingleEvent(of: .value, with: { (snapshot ) 在

标签: ios swift firebase swift3 firebase-realtime-database


【解决方案1】:

这应该对您有所帮助。我创建了一个名为 CRUD 的类来执行我所有的 firebase 功能。

import Firebase

/**
 CRUD Object to maintain Firebase DB
 - MUST use crud.creatRef() before any save or read functions!!
 */
class CRUD: NSObject {
    var ref: DatabaseReference!
    var id: String!

    /**Create FirebaseDB reference for use of CRUD Object to interact with DB*/
    func createRef() {
        id = PageDataSource.sharedInstance.myID!
        ref = Database.database().reference(fromURL: "https://yourURL.firebaseio.com/")
    }

}

当调用CRUD 在我的应用程序中保存或加载数据时,我必须这样做:

let crud = CRUD()
crud.createRef()
crud.doSomething()

我在这方面取得了巨大的成功。您需要设计模型并相应地实现其余代码。当您创建保存函数时,它们应该位于 CRUD 对象中。

【讨论】:

    猜你喜欢
    • 2018-07-29
    • 1970-01-01
    • 1970-01-01
    • 2017-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-27
    • 1970-01-01
    相关资源
    最近更新 更多