Swift - 根据子值从Firebase中选择
问题描述:
我遇到问题。我想要的是用斯威夫特的子键的值Swift - 根据子值从Firebase中选择
例如从火力地堡中选择数据:
{
posts:{
post1:{
userId:10
},
post2:{
userId:11
},
post3:{
userId:10
},
}
}
因此,所有我需要的是一个包含用户id获取帖子:“10” 我试着使用来自StackOverflow的问题不同的选择 - 但仍然没有结果((
谢谢:)
答
你可以用火力地堡的queryOrderedByChild其次queryEqualToValue如下:
!let ref = FIRDatabase.database().reference().child("posts")
let queryRef = ref.queryOrdered(byChild: "userId").queryEqual(toValue: 10)
然后,你可以尝试用你平常的.childAdded,.value的等检索值:
queryRef.observe(.childAdded, with: { (snapshot) in
})
我有一个代码 'ref.child( “上岗”)queryOrdered(byChild:“所有者“)。queryEqual(toValue:uid) ref.observe(.childAdded,其中:{(snapshot)in let snap = snapshot.value as? NSArray 因为我在管理单元中!{ let val = i as? [字符串:AnyObject] 打印(VAL [ “标题”]) } })' –
输出: '可选(在野外没有教堂) 可选(下豆腐烤鸡肉) 可选(创建真棒机器人) 可选(在斯德哥尔摩市中心爆炸的牛) 无 致命错误:意外地发现零,同时展开可选值 我在做什么错?它现在获取所有线路。只有两行应该在那里:( –
真棒!谢谢!它的工作!!!!! –