firebase의 db - firestore를 사용(flutter & firebase _2)

송성원·2024년 1월 27일

Flutter

목록 보기
2/4

firestore

  • 가장 최근 나온 firebase 데이터베이스 서비스
  • NoSql 방식으로 mongodb 기본 사용법 이해한다면 빠르게 적용 가능
  • collection / document 기반으로 한 JSON형태 작업이 가능
    • collection : 일종의 폴더 / document : 각 데이터(key:value 쌍으로 구성)
    • collection에 여러 document를 넣는 방식으로 데이터 관리
    • 각 document의 column 등은 달라도 가능
    • QuerySnapshot: Firebase Firestore에서 쿼리의 결과를 나타내는 객체

firestore 사용시

  • firebase projects:create (프로젝트) -> firebase프로젝트 생성

  • flutter pub add firebase_core provider (cloud_firestore) -> pub add로 필요한 library 추가

  • 데이터 베이스 만들기 버튼 누르기(생성된 firebase 프로젝트 존재시)


  • 프로덕션 vs 테스트 모드 선택(보안규칙 차이 존재)

    • 프로덕션 모드는 가장 기초적인 보안 규칙을 제공하여, 말 그대로 프로덕션으로 사용할 데이터베이스를 의미하는 것
    • 테스트 모드는 공부를 진행, 기능적인 테스트를 수행하기 위한 데이터베이스입니다. 하지만, 30일 이후에는 모든 데이터를 비공개로 전환하는 규칙이 적용되어 있어요. 후에 유형은 변경 가능

  • 리전을 선택 (실제로 서비스를 프로비저닝하는 지역 : 즉 우리는 Seoul)

  • Todo collection 생성 및 document 생성 ... (ex입니다)

    • collection - document 생성하고 그 밑에도 추가적인 정보를 저장하려는데 그것 또한 collection - document로 만들 수 있다.( Users - 송성원 - Todos - document(과제하기...) )

firestore 데이터 코드로 다루는 방법

  • 데이터 가져오기
    • FirebaseFirestore.instance로 접근
void readData() {
final userCollection = FirebaseFirestore.instance.collection("Users").doc("rrerewsqf12 - random값 ");
 // userCollection이라는 변수에 firestore에서의 collection의 docs값을 지정
  
  userCollection.get().then((value) => {print(value.data())});
  // get() 메서드로 가져와서 value이 data를 불러온다 (단일 데이터 조회 <-> 밑의 ex )
}

FirebaseFirestore.instance.collection('users').get().then((QuerySnapshot querySnapshot) {
  querySnapshot.docs.forEach((doc) {
    print(doc.data()); 
  // 각 문서의 데이터를 출력 (단일 데이터가 아닌 사용자 리스트를 불러오거나, 특정 조건을 만족하는 여러 데이터 항목을 검색할 때 유용)
  });
});
  • Firestore의 Flutter CRUD
    코드는 나중에 프로젝트를 진행할 때 추가로 설명하도록 하겠다.
profile
개발에 도전하는 문과생입니다.

0개의 댓글