GET
export const getList = async () => {
const data = (await firebase.firestore().collection("MY_COLLECTION_NAME").get()).docs.map(
(doc) => {
return { ...doc.data(), id: doc.id };
}
);
return data;
};
콜렉션을 만들고 그 콜렉션에 있는 모든 데이터를 가지고 오는 코드
id를 자동 생성으로 만들게 되면 data안에는 id가 안들어있어서 따로 map으로 붙여서 새로운 배열을 만들어줬다.
GET BY ID
export const getItemById = async (id: string) => {
const data = (
await firebase.firestore().collection("MY_COLLECTION_NAME").doc(id).get()
).data();
return data;
};
콜렉션 안에 특정 아이디만 뽑아내서 해당 데이터를 가져오는 코드
POST
export function postItem(content) {
return firebase.firestore().collection("MY_COLLECTION_NAME").add(content);
}
콜렉션에 새로운 문서를 추가하는 코드
DELETE
export function deleteBucket(id: string) {
return firebase.firestore().collection("MY_COLLECTION_NAME").doc(id).delete();
}
콜렉션에서 해당 아이디인 문서를 삭제하는 코드
UPDATE
export function completeBucket({ id, content }) {
return firebase.firestore().collection("MY_COLLECTION_NAME").doc(id).update(content);
}
아이디에 해당하는 문서 중에서 필드 몇가지의 값을 업데이트 하는 코드
SET
export function completeBucket({ id, content }) {
return firebase.firestore().collection("MY_COLLECTION_NAME").doc(id).set(content);
}
아이디에 해당하는 문서에 필드를 갈아끼우는 코드
set은 여기서 파라미터로 들어온 값으로 아예 대체를 하고 update는 업데이트 하지 않은 필드는 그대로 두고 파라미터로 들어온 값만 수정함
728x90
'WEB > 재밌어서 만드는 것' 카테고리의 다른 글
[React] clip-path polygon으로 원형 wheel 만들기 2탄 (0) | 2023.04.04 |
---|---|
[css] clip-path polygon으로 원형 wheel 만들기 1탄 (0) | 2023.03.21 |
[React/next/ts] react로 라이브러리 없이 달력 구현하는 법 (0) | 2023.02.24 |
[React] 브런치 스타일 웹 만들기/ 배경 덮으면서 올라가는 스크롤/progress bar만들기 (0) | 2022.12.14 |