使用Swift从Firebase数据库获取具有条件的数据

使用Swift从Firebase数据库获取具有条件的数据,swift,firebase,firebase-realtime-database,Swift,Firebase,Firebase Realtime Database,我有这样的DB结构: 如您所见,我有两个集合:“线程”和“用户” 我需要接收ownedId为Wvlum2un9knouoilztklvxxpdh1的所有线程,例如。嗨,我在使用firebase作为后端服务的聊天应用程序上遇到过类似的情况 您可以使用这样的查询,我是通过类似的查询完成的 FireBase.Reference.threads .queryOrdered(byChild: "ownerId") .queryEqual(toValue: "You

我有这样的DB结构:

如您所见,我有两个集合:“线程”和“用户”
我需要接收ownedId为Wvlum2un9knouoilztklvxxpdh1的所有线程,例如。

嗨,我在使用firebase作为后端服务的聊天应用程序上遇到过类似的情况

您可以使用这样的查询,我是通过类似的查询完成的

    FireBase.Reference.threads
        .queryOrdered(byChild: "ownerId")
        .queryEqual(toValue: "YourUserId")
        .observe(.value) { (snapshot) in
            if let messages = snapshot.value as? NSDictionary {
                // you will get all those threads where ownedId is what you need to fetch for
            }
    }

希望这有帮助,如果需要更正,请告诉我。

您需要的是查询。正如Frank指出的,查询可能是最简单的方法。另一个选项是循环线程对象,并将具有正确id的线程添加到数组中。@FrankvanPuffelen您似乎已经回答了-