私は彼のメールを受け取ってuidを取得しようとしています。 |Swift Firebaseクエリー
ユーザー
:私はこれがあります。
let usersRef = Database.database().reference().child("users")
usersRef.queryOrdered(byChild: "email").queryStarting(atValue: email).queryEnding(atValue: email).observeSingleEvent(of: .value, with: { (snapshot) in
if let values = snapshot.value as? [String: Any]{
print(values)
}
})
を、次のように私のデータベースに見えます - $ uid
| - メール: "何らかのメール"
スナップショットは何も返しません。未指定のインデックスを使用して
:
また、デバッガが私にこのことを伝えます。データはクライアント上でダウンロードおよびフィルタリングされます。私はそうのようにこれを行っていると思う 『電子メール』をパフォーマンス向上のためにあなたのセキュリティルールに/ユーザー
で:
{
"rules": {
"users": {
".read": "auth != null",
"$uid": {
".write": "$uid === auth.uid",
".indexOn": ["email"]
}
しかし、これは同様に動作しません「.indexOn」を追加することを検討してください。以下のような
期待される出力は?クエリの目的は何ですか? – 3stud1ant3
質問が更新されました。 – Latcie
これを試してください: 'usersRef.queryOrdered(byChild:" email ")。queryEqual(toValue:email).observeSingleEvent' – 3stud1ant3