【发布时间】:2018-05-06 16:35:29
【问题描述】:
所以我试图查看当前用户 ID 是否存在于数据库中并想要返回一个布尔值,返回数据是“任何”值,用户常量是一个字符串。我收到“如果”“类型值'Any?'的错误没有成员“包含””
let user = Auth.auth().currentUser?.uid
let databaseRef = Database.database().reference()
databaseRef
.child("Posts")
.queryOrdered(byChild: "uid")
.observeSingleEvent(of: .value, with: { (snapshot) in
print (snapshot.value)
let returnData = snapshot.value
if returnData.contains(user!) {
print ("uid exists")
}
})
我从数据库中取回这个值
"-LBe5petr8MUtVZd9qWw" = {
uid = zQRxvM3cwzQMewUtVamk8JQrEFJ3;
};
})
【问题讨论】:
-
正确的查询是
databaseRef .child("Posts").queryOrdered(byChild: "uid").queryEqual(toValue: "yourUserId"),只需检查完成块中的if snapshot.exists()。 -
这确实是正确的方法@TheTiger。您能否将其写在答案中,以便我们对其进行投票,并且 OP 可以接受它?
-
谢谢@Frank!我已将其发布为答案。
标签: swift firebase firebase-realtime-database