So the user Object has 5 attributes firstName , lastName,email,password and city.
I am getting the users with a method in class Users which is :
getUsersData () {
const usersMap = new Map()
this.users.get().then((data) => {
data.docs.forEach(user=> {
const {email , password} = user.data();
usersMap.set(email,password);
});
});
return usersMap;
}
which returns this in chrome console:
Map(0) {}
[[Entries]]
0: {"mehdiboujid@gmail.com" => "dqdqwdq"}
size: (...)
__proto__: Map
I am trying to use credentials in a Map because every user will have a unique email which will be the key to the map.
Advertisement
Answer
If this.users.get() is async you will have to await the result before returning the usersMap.
async getUsersData() {
const usersMap = new Map()
await this.users.get()
.then((data) => {
data.docs.forEach(user => {
const { email, password } = user.data();
usersMap.set(email, password);
});
});
return usersMap;
}