Saltar al contenido

¿Cómo agregar valores a Firebase Firestore sin sobrescribir?

Te damos la respuesta a esta cuestión, o por lo menos eso pensamos. Si continuas con preguntas dínoslo y con gusto te ayudaremos

Solución:

Hay dos formas en las que puedes lograr esto. La primera sería usar un Map:

Map map = new HashMap<>();
map.put("yourProperty", "yourValue");
firebaseFirestore.collection("Users").document(user_id).update(map);

Como puedes ver, he usado update() método en lugar de set() método.

El segundo enfoque sería usar un objeto de su clase modelo como este:

YourModelClass yourModelClass = new YourModelClass();
yourModelClass.setProperty("yourValue");
firebaseFirestore.collection("Users").document(user_id)
    .set(yourModelClass, SetOptions.mergeFields("yourProperty"));

Como puedes ver, he usado el set() método pero lo he pasado como segundo argumento SetOptions.mergeFields("yourProperty")lo que significa que hacemos una actualización solo en un campo específico.

Le sugiero que agregue un documento o colección más que podrá almacenar más valores de datos para un solo usuario.
Puede crear un documento de referencias para ambas actividades:

firebaseFirestore.collection("Users").document(user_id+"/acitivity1").set(data);
//and  
firebaseFirestore.collection("Users").document(user_id+"/acitivity2").set(data);

O puede crear una subcolección para ello:

firebaseFirestore.collection("Users").document(user_id)
                  .collection("Activities").document("acitivity1").set(data);
//and
firebaseFirestore.collection("Users").document(user_id)
                  .collection("Activities").document("acitivity2").set(data);

Más sobre datos jerárquicos allí.

Si sabe que el documento de usuario ya existe en Firestore, entonces debe usar

firebaseFirestore.collection("Users").document(user_id).update(data)

Si no sabe si el documento existe, puede utilizar

firebaseFirestore.collection("Users").document(user_id).set(data, merge:true)

Esto realiza una fusión profunda de los datos.

Alternativamente, puede hacerlo usando subcolecciones.

Reseñas y valoraciones del tutorial

Recuerda que tienes la capacidad de valorar esta división si te fue de ayuda.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *