- 
            
      
        
      
    Star
      
          
          (147)
      
  
You must be signed in to star a gist 
- 
              
      
        
      
    Fork
      
          
          (34)
      
  
You must be signed in to fork a gist 
- 
      
- 
        Save anantn/4323949 to your computer and use it in GitHub Desktop. 
| function go() { | |
| var userId = prompt('Username?', 'Guest'); | |
| checkIfUserExists(userId); | |
| } | |
| var USERS_LOCATION = 'https://SampleChat.firebaseIO-demo.com/users'; | |
| function userExistsCallback(userId, exists) { | |
| if (exists) { | |
| alert('user ' + userId + ' exists!'); | |
| } else { | |
| alert('user ' + userId + ' does not exist!'); | |
| } | |
| } | |
| // Tests to see if /users/<userId> has any data. | |
| function checkIfUserExists(userId) { | |
| var usersRef = new Firebase(USERS_LOCATION); | |
| usersRef.child(userId).once('value', function(snapshot) { | |
| var exists = (snapshot.val() !== null); | |
| userExistsCallback(userId, exists); | |
| }); | |
| } | 
That is very strange, when I try to do that in my own application , it does not even go into the function only if data exists which I am tearing hair out because of it.
Awesome. Thanks a lot!
This is awful.
This is definitely an anti-pattern described in the firebase docs.
how to check for more then one value lets say Name: John Surname:Smith how do I check if both exist must i use a two methods?
you probably don't need this but I figured I'd share it. Just feels a bit cleaner to me:
// The ideantifier in the collection.
var uid = 2;
// the data for the object being created/updated.
var user = {
    name: "Luis",
    twitter: "@luisgo"
};
// attempt to get the child in the collection by uid.
db.child('users').child(uid).once('value', function(snapshot){
    // if data exists
    if (snapshot.exists()) {
        // get the ref (in this case /users/2) and update its contents
        snapshot.ref().update(user);
    } else {
        // data does not exist so we wrap the data in an object with
        // a member named after the uid so we can pass it as an update
        // to the parent.
        var payload = {};
            payload[uid] = user;
        // get the ref's parent and call update on it.
        snapshot.ref().parent().update(payload);
    }
});@lgomez that is brilliant! You saved me so much time.
+1
Can anyone has an idea on how to do it in Laravel?
nice
I am making chat application using java, "https://github.com/Abdul007Malik/Conversa.git", I am confused and cannot progress further help me if you can, my questions:
- if I know the auth.getUID of others can i modify there data or firebase have different mechanism to check authentication.
- how can I send the invitation(inviting to join the group) to friends if i know there phone numbers but dont know there particular userid.
This was just perfect. Thank you!
A promise based version (where db is a Firebase ref)
export function checkIfUserExists(authData) {
  return db
    .child('users')
    .child(authData.uid)
    .once('value')
    .then(dataSnapshot => {
      return Promise.resolve({
        authData,
        userExists: dataSnapshot.exists(),
      });
    });
}Which would be called like so:
  db.authWithOAuthPopup(provider)
    .then(checkIfUserExists)
    .then(({authData, userExists}) => {
      if (userExists) {
        // update user
      } else {
        // go create a user
      }
    })
    .catch(err => {
      console.warn('Error signing in.', err);
    });Gist: https://gist.github.com/davidgilbertson/52a72f7c5e35502127e5848a8bf881b2
Thanks a lot sir. Helped me construct my own idea
has anyone figured this out using Python? I'm using the following library: https://pypi.python.org/pypi/python-firebase/1.2
Please any body can tell me that i have request record in firebase . i want to get spesific user which userId is 91 how i can access this user by query on firebase
{
"request" :
{
"123" :
{
"userId" : "90",
"name"  : "mary"
},
"124" :
{
"userId" : "91",
"name"  : "johan"
},
"124" :
{
"userId" : "92",
"name"  : "maikal"
}
}
}
How to retrieve the user email using the user id (client id)?
sudikrt, create a table with names and emails and add data to it after user has registered. then you will be able to search for records by email or id.
The crux: var exists = (snapshot.val() !== null);
if you want to listen on a node. You can change the implementation to the snippet below.
  const checkIfUserExists = (userId) => {
    const usersRef = new Firebase(USERS_LOCATION);
    usersRef.child(userId).on('value', (snap) => {
    const exists = (snap.val() !== null);
    userExistsCallback(userId, exists);
   });
 }
didn't know about the once() method. thanks 👍
Can you do this in swift?
Nice!
+2
I am making chat application using java, "https://github.com/Abdul007Malik/Conversa.git", I am confused and cannot progress further help me if you can, my questions:
- if I know the auth.getUID of others can i modify there data or firebase have different mechanism to check authentication.
- how can I send the invitation(inviting to join the group) to friends if i know there phone numbers but dont know there particular userid.
Did you find any solution for this. I am facing same issue where I know email id but not user id
Can you give us python examples??
Can you give us python examples??
For python example
https://stackoverflow.com/questions/59253867/how-to-check-if-a-child-in-firebase-database-exists-using-django/60844998#60844998
thank's man, very helpful =)
above one is working for username or email or phone only check to find the user already exit or not, but how to i compare the more than one user at a same time to find the user exit or not. i used this
Firebase ref= new Firebase(USERS_LOCATION);
ref.addValueEventListener(new ValueEventListener() {
public void onDataChange(DataSnapshot snapshot) {
if (snapshot.getValue() !== null) {
//user exists, do something
} else {
//user does not exist, do something else
}
}
@OverRide
public void onCancelled(FirebaseError arg0) {
}
});
way but its always going to already exit method only, anyone can explain. how to do that?