-
-
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?