Tengo los siguientes datos de prueba
1: { match: "Game 1", scorer: ["foo","bar"] //this could also be an object } Mi pregunta es ¿cómo agrego correctamente un nuevo valor a una matriz sin sobrescribirlo? Mi idea era recuperar los datos existentes y luego distribuirlos así [...currentData, "bob"] . ¿Hay una mejor alternativa?
const addScorer = (matchId) => { return update(ref(db, path), { scorer: ["bob"] }) }No existe una operación atómica para agregar un elemento a una matriz directamente en la base de datos. Esto significa que necesitará:
Esta es una de las muchas razones por las que Firebase recomienda no usar arreglos para listas de datos, sino que tiene una operación push() que evita la mayoría de los problemas. Para obtener más información sobre esto, consulte el enlace al documento que Nilesh incluyó en su comentario, o lea este artículo sobre Prácticas recomendadas: arreglos en Firebase .