최데브는 오늘도 프로그래밍을 한다.

FireStore 데이터 가져오기 본문

카테고리 없음

FireStore 데이터 가져오기

최데브 2021. 3. 6. 10:22
반응형

FireStroe 는 클라우드 방식의 데이터베이스를 사용하기 쉽게 제공되는 DB 다.

소유한 서버, DB가 없다면 저렴한 가격으로 대여할 수 있는 좋은 서비스다.

 

FireStore 에는 크게 컬렉션 , 문서 , 필드로 이루어져있는데

컬렉션 아래에 문서 여러개 또 문서 아래에 필드 여러개로 계층적인 구조를 가지고 있다.

직접 파이어스토어를 만들어보면 바로 이해가 될 것이다.

 

웹, 안드로이드 , ios 등 여러 플랫폼에서 제공되고 있는 각각 설치하는 방법은 공식문서나 많은 블로그에 다루고 있으니 따라하면 바로 적용된다.

 

나는 안드로이드 환경을 기준으로 사용하는 방법에 대해 코드 위주로 정리 해볼까한다.

 

먼저 가장 상위 계층인 컬렉션(문서 아래의 필드 구간에서도 컬렉션을 만들 수 있다. 뒤쪽에 이게 무슨말인지 설명하겠다.)을 참조하는 방법부터 알아보자.

 

1. 컬렉션

//파이어스토어에 접근하기 위한 객체를 생성한다.
private static FirebaseFirestore db = FirebaseFirestore.getInstance();

			//CollectionReference 는 파이어스토어의 컬렉션을 참조하는 객체다.
            CollectionReference productRef = db.collection("컬렉션이름");
            //get()을 통해서 해당 컬렉션의 정보를 가져온다.
            productRef.get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
                @Override
                public void onComplete(@NonNull Task<QuerySnapshot> task) {
                	//작업이 성공적으로 마쳤을때
                    if (task.isSuccessful()) {
                      //컬렉션 아래에 있는 모든 정보를 가져온다.
                        for (QueryDocumentSnapshot document : task.getResult()) {
                      		//document.getData() or document.getId() 등등 여러 방법으로
                            //데이터를 가져올 수 있다.
                        }
                   //그렇지 않을때
                    } else {
                      
                    }
                }
            });

 

2. 문서

 

//파이어스토어에 접근하기 위한 객체를 생성한다.
private static FirebaseFirestore db = FirebaseFirestore.getInstance();

			//CollectionReference 는 파이어스토어의 컬렉션을 참조하는 객체다.
            DocumentReference productRef = db.collection("컬렉션이름").document("문서이름");
            //get()을 통해서 해당 문서의 정보를 가져온다.
            productRef.get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
                @Override
                public void onComplete(@NonNull Task<QuerySnapshot> task) {
                	//작업이 성공적으로 마쳤을때
                    if (task.isSuccessful()) {
                    	 //문서의 데이터를 담을 DocumentSnapshot 에 작업의 결과를 담는다.
           				 DocumentSnapshot document = task.getResult();
                        
                   //그렇지 않을때
                    } else {
                      
                    }
                }
            });

3. 필드에 있는 컬렉션 참조

//파이어스토어에 접근하기 위한 객체를 생성한다.
private static FirebaseFirestore db = FirebaseFirestore.getInstance();

			//CollectionReference 는 파이어스토어의 컬렉션을 참조하는 객체다.
            CollectionReference productRef = db.collection("컬렉션이름").document("문서이름").collection("컬렉션이름");
            //get()을 통해서 해당 컬렉션의 정보를 가져온다.
            productRef.get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
                @Override
                public void onComplete(@NonNull Task<QuerySnapshot> task) {
                	//작업이 성공적으로 마쳤을때
                    if (task.isSuccessful()) {
                      //컬렉션 아래에 있는 모든 정보를 가져온다.
                        for (QueryDocumentSnapshot document : task.getResult()) {
                      		//document.getData() or document.getId() 등등 여러 방법으로
                            //데이터를 가져올 수 있다.
                        }
                   //그렇지 않을때
                    } else {
                      
                    }
                }
            });

 

대략적인 사용방법은 알지만 제대로 아는것이 아니라서 제대로 적었는지는 모르겠다.

좀 더 다양하게 사용하는 방법이 있는것으로 알고 있는데 나중에 시간이 날때

좀 더 자세하게 기록해야겠다.

반응형
Comments