Los datos de chat anteriores contienen el apodo anterior al cambio, por lo que no se refleja en tiempo real al cambiar el apodo. ¿Qué método debo usar para hacer que el apodo cambie en tiempo real, incluso el chat antes de cambiar el apodo?
¿Tengo que cambiar la información del apodo en los datos del chat cada vez que cambio mi apodo?
Firebase.usersRef .doc(Firebase.currentUser.email) .update({'nickname': nickname}) .then(() ⇒ { Firebase.chatsRef .where('user.name', '==', Firebase.currentUser.email) .get() .then((querySnapshot) ⇒ { querySnapshot.forEach(doc ⇒ // Changing the nickname ) }) }) .catch(err => console.log(err));Debe identificar al usuario para cada mensaje de chat mediante el llamado identificador estable, que aparentemente su apodo no es en su caso.
Dado que parece estar utilizando Firebase Authentication, el identificador estable más común para un usuario es su UID, que puede obtener con Firebase.currentUser.uid . Entonces, además del apodo para el usuario, también almacene su UID en cada documento. Luego use el UID para seleccionar los mensajes para un usuario y use el apodo solo para mostrar en la interfaz de usuario,