Firebase 查找具有特定属性的用户?
根据此模式,如何查找订阅了Firebase 查找具有特定属性的用户?,firebase,Firebase,根据此模式,如何查找订阅了服务的用户?您可以执行以下操作: users | |_ john_doe199 | | | |_ subscriptions | | | |__ service_id1 : true | |_ jane_doe123 | |_ subscriptions | |__ service_id1 : true |__ service_id2 : true let ref=Firebase(url:https://
服务的用户?
您可以执行以下操作:
users
|
|_ john_doe199
| |
| |_ subscriptions
| |
| |__ service_id1 : true
|
|_ jane_doe123
|
|_ subscriptions
|
|__ service_id1 : true
|__ service_id2 : true
let ref=Firebase(url:https://.firebaseio.com/users")
参考queryOrderedByChild(“订阅/服务\u id1”)
.observeEventType(.ChildAdded,带块:{中的快照
如果let subscribed=snapshot.childSnapshotForPath(“订阅/服务\u id1”)
.价值为?布尔{
打印(“\(snapshot.key)已订阅服务\u id1:\(订阅)”)
}
})
这是Eirik答案的另一种选择
let ref = Firebase(url: "https://<your_app>.firebaseio.com/users")
ref.queryOrderedByChild("subscriptions/service_id1")
.observeEventType(.ChildAdded, withBlock: { snapshot in
if let subscribed = snapshot.childSnapshotForPath("subscriptions/service_id1")
.value as? Bool {
print("\(snapshot.key) is subscribed to service_id1: \(subscribed)")
}
})
这就是所谓的使用深度查询:。这很直截了当。@Jay用一段代码作为回答,我会接受:)
usersRef.queryOrderedByChild("subscriptions/service_id1").queryEqualToValue(true)
.observeSingleEventOfType(.Value, withBlock: { snapshot in
print(snapshot)
})