반응형
회원가입을 할 때 회원 정보를 RealtimeDB(트리구조)를 사용해서 저장했는데,
이번에는 Firestore 기능으로 데이터를 사용해보려고 한다.
테스트 모드를 선택했다.
서울 위치로 변경해주었다.
DB가 만들어졌다.
회원가입 할 때 이메일 중복 검사를 위한 로직을 구현하기 위해 테스트 데이터를 하나 넣어주었다.
USER 정보를 넣을 USER 컬렉션(Table 같은 느낌)을 만들고,
문서(document)는 회원의 이메일로 분류하고,
이 문서 안의 필드(컬럼 같은 느낌)들은 가입시 필요한 회원 정보를 넣어주었다.
SQL을 사용하는 RDBMS(관계형 데이터베이스)에서 볼 수 있는 테이블-컬럼 구조와는 다른 느낌의 구조다.
var firestore: Firestore!
let db = Firestore.firestore()
/*
이메일 중복 검사
*/
func emailCheck(email: String) -> Bool {
var result = false
let userDB = db.collection("USER")
// 입력한 이메일이 있는지 확인 쿼리
let query = userDB.whereField("email", isEqualTo: email)
query.getDocuments() { (qs, err) in
if qs!.documents.isEmpty {
print("데이터 중복 안 됨 가입 진행 가능")
result = true
} else {
print("데이터 중복 됨 가입 진행 불가")
result = false
}
}
return result
}
Firebase에서 제공하는 공식 문서를 따라 이메일 중복 검사 로직을 작성했다.
이메일 텍스트 필드에 이메일을 입력하고 중복 검사 버튼을 클릭하면 실행되는 함수다.
USER 컬렉션의 email 필드에서 파라미터로 넘긴 email 변수를 갖는 Ducuments를 찾는다.
간단하게 구현한 로직에서 아주 잘 작동되는 것을 볼 수 있다 b b b !!
반응형
'DEV - iOS > iOS' 카테고리의 다른 글
[Swift] FSCalendar 라이브러리로 달력 구현하기-1(설치) (0) | 2022.08.08 |
---|---|
[Swift / SpringBoot] WebView로 SpringBoot 서버 화면 띄우기 (0) | 2022.08.02 |
[Swift] Firebase Auth 로그인 기능 (0) | 2022.04.27 |
[Swift] iOS 프로젝트에 Firebase 연동하기 2 - Realtime Database (0) | 2022.04.11 |
[Swift] iOS 프로젝트에 Firebase 연동하기 (0) | 2022.04.11 |