firestore의 user 필드에 array의 값을 하나씩 추가한다.
arrayUnion
의 경우 배열에 없는 요소만 추가한다.
const updateData = {city: "Seoul", name: "Gildong Hong"};
await transaction.update({user: admin.firestore.FieldValue.arrayUnion(updateData)});
user 필드의 array에서 특정 object를 삭제한다.
const deleteData = {city: "Jeju", name: "Ari Kim"};
await transaction.update({user: admin.firestore.FieldValue.arrayDelete(deleteData)});
기존에 있던 array의 데이터를 업데이트하고 싶을 경우 현재는 딱히 방법이 없다. arrayUnion을 사용할 경우 object내에 다른 값이 있다면 업데이트를 하는게 아니라 새로운 object로 인식해서 추가하기 때문에, 무식하게도 arrayDelete
후에 다시 arrayUnion
하는 수 밖에 없다.