[Firebase] 코드로 Cloud Firestore에 데이터 추가하기, 업데이트하기 (collection, addDoc, updateDoc)

치즈·2024년 5월 17일
0

Firebase

목록 보기
6/10

Cloud Firestore

Cloud Firestore는 CollectionDocument라는 것으로 동작한다.
collection은 폴더같은 개념으로 생각하면 되는데 collection 아래에 document를 생성할 수 있으며 document 안에 또 다른 collection이 존재할 수 있다.

먼저 Firebase 웹사이트에서 collection을 만드는 법을 알아보자.

Cloud Firestore에 들어와서 컬렉션 시작을 누른다.

원하는 collection의 id를 설정해주면 된다. document에는 기본적으로 임의의 ID가 배정되지만 원하면 ID 변경도 가능하다. 나는 임의의 ID로 설정했다.

"posts"라는 collection이 새로 생성되고 안에 document 하나가 생성된것을 확인 할 수 있다.

이제는 코드를 이용해 collection 안에 document를 생성하는 법을 알아보자.

addDoc

addDoc 함수는 지정된 collection에 새로운 document를 생성해준다.
addDoc의 첫번째 매개변수는 collection에 대한 참조 (어떤 collection에 document를 생성하고 싶은지), 두번째 매개변수는 추가하려는 데이터이다.

collection

collection 함수는 Firestore 데이터베이스의 특정 collection을 참조한다.
collection의 첫번째 매개변수는 firestore 인스턴스이고, 두번재 매개변수는 collection의 컬렉션의 이름이다.

다음 예시 코드를 한번 보자


const doc=await addDoc(collection(db,"posts"),{
              post,
              createdAt:Date.now(),
              username:user.displayName||"Anonymous",
              userId:user.uid,
          })

collection의 첫번째 매개변수로 이전 게시물에서 생성한 db(잘 모른겠다면 getFirestore 게시글 참고!), 즉 firestore 인스턴스를 넣어주고 "posts"라는 collection을 넣어줬다.
addDoc의 첫번째 매개변수에 이 collection을 넣어서 document를 넣을 collection에 대해 설정해주고 두번째 매개변수에 넣고싶은 데이터들을 설정해주었다.

코드르 실행하게 되면 다음과 같이 데이터가 잘 들어간 것을 확인할 수 있다.

추가적으로 docment를 업데이트하는 법에 대해 간단하게 알아보자.

updateDoc

updateDoc는 기존 document를 업데이트할 때 사용되는 함수이다.
첫번째 매개변수는 업데이트할 document이고, 두번째 인자는 업데이트할 내용을 넣어준다.

  await updateDoc(doc,{
                    photo:url
                })

위의 예시코드를 보면 첫번째 인자로 아까 만들었던 document인 doc를 넣고 업데이트할 내용을 넣어주었다. 참 쉽죠잉~?

참고
[노마드 코더] https://nomadcoders.co/nwitter/lectures/4527

profile
오늘도 배우는 중...

0개의 댓글