由Grandchild提供的Firebase v3查询 [英] Firebase v3 Query by Grandchild
问题描述
displayName
C> .createUserWithEmailAndPassword 。所以我需要一个查询。我需要在我的 users
分支中获得所有 displayName
的列表。我很困惑如何为每个用户auth.uid表示的 user
收集这个信息。 什么将检索看起来像?我正在想:
$ b
firebase.database()。ref('users /'+ allUserIds).equalTo('Joe');
但我知道 allUserIds
无效。有人可以帮我吗?
{
users:{
6mJb9vtpbDelyyjirKEf6sSEj8h1:{
name:asdfs@asdf.com,
provider:password,
displayName:Joe
},
T7D7qEOPPHXjKSzglKheGJDQNkE3:{
name:gfdsdf@hlkjh.com,
provider:password,
displayName:Jane
},
kTG9R0V4aXYsogQfgF633KFYtzV2:{
name:Andre3000,
provider:google.com,
displayName:Andre
}
$ div $解析方案
'使用Firebase查询:
$ p $ var $ users = firebase.database()。ref('users');
var joes = users.orderByChild('displayName')。equalTo('Joe');
joes.once('value',function(snapshot){
console.log('Joe's'+(snapshot.exists()?'':'not')+'exist')
});
不要忘记在 users $ c $
{
rules:{
users:{
.indexOn:displayName
}
}
}
When registering new email/password type users, I need to make user that the displayName
that they enter does not already exist in my Realtime Database before calling .createUserWithEmailAndPassword
. So I need a query. I need to get a list of all displayName
's in my users
branch. I am confused as to how to gather this for each user
which is denoted by each users auth.uid.
What would the retrieval look like? I am thinking something like:
firebase.database().ref('users/' + allUserIds).equalTo('Joe');
but I know that allUserIds
is not valid. Can someone help me with this?
{
"users" : {
"6mJb9vtpbDelyyjirKEf6sSEj8h1" : {
"name" : "asdfs@asdf.com",
"provider" : "password",
"displayName" : "Joe"
},
"T7D7qEOPPHXjKSzglKheGJDQNkE3" : {
"name" : "gfdsdf@hlkjh.com",
"provider" : "password",
"displayName" : "Jane"
},
"kTG9R0V4aXYsogQfgF633KFYtzV2" : {
"name" : "Andre3000",
"provider" : "google.com",
"displayName" : "Andre"
}
}
}
You'd use Firebase queries for that:
var users = firebase.database().ref('users');
var joes = users.orderByChild('displayName').equalTo('Joe');
joes.once('value', function(snapshot) {
console.log('A Joe does '+(snapshot.exists()?'':'not ')+' exist')
});
Don't forget to define an index on users
:
{
"rules": {
"users": {
".indexOn": "displayName"
}
}
}
这篇关于由Grandchild提供的Firebase v3查询的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!