因此,我试图查看当前用户ID是否存在于数据库中并希望返回bool值,返回数据为“Any”值,用户常量为String。我收到错误的“如果”“类型的价值'任何?”没有成员'包含'“
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;
};
})
答案 0 :(得分:1)
如果您获得快照,则uid必须存在。您可以声明json = str |> Poison.decode!(as: %Geodatajson{})
,如果返回数据,它将更新。如果你想要uid,你需要像这样解析它:
Boolean
var userDoesExist: Bool = false
答案 1 :(得分:1)
正确的查询是
databaseRef.child("Posts").queryOrdered(byChild: "uid").queryEqual(toValue: "yourUserId")
并在完成版块中检查if snapshot.exists()
。
答案 2 :(得分:0)
只搜索帖子/用户/ uid,如果快照为空,则用户不存在