Swift - 根据子值从Firebase中选择

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 

    }) 
+0

我有一个代码 'ref.child( “上岗”)queryOrdered(byChild:“所有者“)。queryEqual(toValue:uid) ref.observe(.childAdded,其中:{(snapshot)in let snap = snapshot.value as? NSArray 因为我在管理单元中!{ let val = i as? [字符串:AnyObject] 打印(VAL [ “标题”]) } })' –

+0

输出: '可选(在野外没有教堂) 可选(下豆腐烤鸡肉) 可选(创建真棒机器人) 可选(在斯德哥尔摩市中心爆炸的牛) 无 致命错误:意外地发现零,同时展开可选值 我在做什么错?它现在获取所有线路。只有两行应该在那里:( –

+0

真棒!谢谢!它的工作!!!!! –