[240305] TIL

YoungHyun Kim·2024년 3월 5일
1

TIL ✍️

목록 보기
54/68

🔥Firestore

Collection -> Document -> Collection -> Document

  • 데이터의 계층화
func createPillData(pill: Pill) {
    var userDocumentID = "" // UID 값으로 대체하면 좋을 것 같음...
    if let userID = UserDefaults.standard.string(forKey: "ID") {
        if let documentID = readUserData(userID: userID)["documentID"] {
            userDocumentID = documentID
        }
            
        let pillCollection = db.collection("Users").document(userDocumentID).collection("Pills")
        let query = pillCollection.whereField("Title", isEqualTo: pill.title)
            
        query.getDocuments{ (snapshot, error) in
            guard let captured = snapshot, !captured.isEmpty else {
                self.db.collection("Pills").document().setData([
                    "Title": pill.title,
                    "Type": pill.type,
                    "Day": pill.day,
                    "DueDate": pill.dueDate,
                    "Intake": pill.intake
                ])
                print("약 등록 완료")
                return
            }
            print("이미 같은 약 이름으로 등록이 되어있어요.")
        }
    }
}
  • Users (Collection)
    • ID
    • Password
    • Name
    • PhoneNumber
    • Pills (Collection)
      • Title
      • Type ...

위와 같은 구조를 가지는 데이터를 구현하려고 코드를 작성해봤는데, 아직 테스트를 해보지 못해서 원하는 대로 데이터가 저장되는 지 모른다...

내일 확인해 볼 예정..!

profile
iOS 개발자가 되고 싶어요

0개의 댓글