En el siguiente ejemplo, estoy actualizando 2 cosas. Lo primero es una matriz existente en la base de datos y lo segundo es un objeto existente. La inserción de matriz funciona como debería, pero el objeto tiene un problema. Quiero decir, ¿hay un equivalente para que la unión de matrices se oponga?
// Doc model current state before the incoming update. data {items :[]} {lists : {}} const addObjToClientsArr = async () => { const docRef = doc(db, 'data', _authContext.currentUser.uid); const payload = selected; // Array await updateDoc(docRef, { items: arrayUnion(payload) }); // Obeject const payload2 = {[context.id]: [ { a : 1 }, ]} updateDoc(docRef, { lists: { payload2 }); };Parece que desea actualizar un campo dentro de un objeto anidado , lo que puede hacer con:
const path = `lists.${context.id}.a`; await updateDoc(docRef, { [path]: 1 })