Firebase의 DataSnapshot에 대해서

2023. 10. 12. 10:17·Unity/Firebase
반응형

Firebase는 클라우드 기반의 NoSQL 데이터베이스입니다. Firebase 데이터베이스는 JSON 형식으로 데이터를 저장합니다. Firebase 데이터베이스에서 데이터를 읽을 때는 DataSnapshot 객체를 사용합니다.

 

DataSnapshot

DataSnapshot 객체는 Firebase 데이터베이스에서 읽은 데이터를 나타내는 객체입니다. DataSnapshot 객체는 다음과 같은 속성을 가지고 있습니다.

  • value: 데이터베이스에서 읽은 데이터입니다.
  • exists: 데이터가 존재하는지 여부를 나타냅니다.
  • hasChildren: 데이터에 하위 데이터가 있는지 여부를 나타냅니다.
  • children: 데이터의 하위 데이터를 나타내는 배열입니다.

DataSnapshot 사용법

DataSnapshot 객체를 사용하여 Firebase 데이터베이스에서 읽은 데이터에 액세스할 수 있습니다. 다음은 DataSnapshot 객체를 사용하는 방법에 대한 예입니다.

using Firebase;

public class FirebaseExample : MonoBehaviour
{
    private void Start()
    {
        // Firebase 데이터베이스에 연결합니다.
        FirebaseDatabase.DefaultInstance.Connect();

        // 데이터를 읽습니다.
        DataSnapshot snapshot = FirebaseDatabase.DefaultInstance.GetReference("my-data").GetSnapshot();

        // 데이터가 존재하는지 확인합니다.
        if (snapshot.Exists)
        {
            // 데이터를 출력합니다.
            Debug.Log(snapshot.Value);
        }
    }
}

이 예제에서는 "my-data"라는 이름의 데이터베이스 테이블에서 데이터를 읽습니다. 데이터가 존재하는 경우 데이터를 출력합니다.

 

DataSnapshot 객체의 메서드

DataSnapshot 객체는 다음과 같은 메서드를 제공합니다.

  • getValue(type): 데이터를 지정된 형식으로 가져옵니다.
  • child(path): 데이터의 하위 데이터를 가져옵니다.
  • hasChild(path): 데이터에 지정된 경로의 하위 데이터가 있는지 여부를 확인합니다.
  • children(): 데이터의 하위 데이터를 가져오는 배열을 반환합니다.

DataSnapshot 객체의 예제

다음은 DataSnapshot 객체를 사용하는 예제입니다.

using Firebase;

public class FirebaseExample : MonoBehaviour
{
    private void Start()
    {
        // Firebase 데이터베이스에 연결합니다.
        FirebaseDatabase.DefaultInstance.Connect();

        // 데이터를 읽습니다.
        DataSnapshot snapshot = FirebaseDatabase.DefaultInstance.GetReference("my-data").GetSnapshot();

        // 데이터가 존재하는지 확인합니다.
        if (snapshot.Exists)
        {
            // 데이터를 출력합니다.
            Debug.Log(snapshot.Value);

            // 데이터의 하위 데이터를 읽습니다.
            DataSnapshot childSnapshot = snapshot.child("child");
            Debug.Log(childSnapshot.Value);

            // 데이터의 하위 데이터가 있는지 확인합니다.
            if (childSnapshot.hasChild("subchild"))
            {
                // 데이터의 하위 데이터의 하위 데이터를 읽습니다.
                DataSnapshot subchildSnapshot = childSnapshot.child("subchild");
                Debug.Log(subchildSnapshot.Value);
            }
        }
    }
}

이 예제에서는 "my-data"라는 이름의 데이터베이스 테이블에서 다음과 같은 데이터를 읽습니다.

 

1
2
3
4
5
6
7
8
9
10
11
{
    "name": "John Doe",
    "age": 30,
    "children": [
        {
            "name": "Jane Doe",
            "age": 25
        }
    ]
}
 
Colored by Color Scripter
cs
저작자표시 비영리 변경금지 (새창열림)

'Unity > Firebase' 카테고리의 다른 글

데이터를 가져올 때 키 값이 존재하는지 확인하는 방법  (0) 2024.01.08
ValueChanged 이벤트를 사용하여 실시간 데이터 업데이트  (0) 2023.12.15
Windows 환경에서 Firebase 사용 시 발생하는 Unable to resolve reference 'UnityEditor.iOS.Extensions.Xcode' 에러 해결  (0) 2023.12.03
Firebase Database에 데이터를 저장하는 방법  (0) 2023.11.16
Firebase 토큰을 가져오는 방법  (2) 2023.11.15
'Unity/Firebase' 카테고리의 다른 글
  • ValueChanged 이벤트를 사용하여 실시간 데이터 업데이트
  • Windows 환경에서 Firebase 사용 시 발생하는 Unable to resolve reference 'UnityEditor.iOS.Extensions.Xcode' 에러 해결
  • Firebase Database에 데이터를 저장하는 방법
  • Firebase 토큰을 가져오는 방법
코샵
코샵
나의 코딩 일기장
    반응형
  • 코샵
    끄적끄적 코딩 공방
    코샵
  • 전체
    오늘
    어제
    • 분류 전체보기 (515) N
      • 상품 추천 (33)
      • MongoDB (4)
      • 하드웨어 (3) N
      • 일기장 (4)
      • Unity (138)
        • Tip (41)
        • Project (1)
        • Design Pattern (8)
        • Firebase (6)
        • Asset (2)
      • 파이썬 (127)
        • Basic (40)
        • OpenCV (8)
        • Pandas (15)
        • PyQT (3)
        • SBC(Single Board Computer) (1)
        • 크롤링 (14)
        • Fast API (29)
        • Package (6)
      • Linux (4)
      • C# (97)
        • Algorithm (11)
        • Window (7)
      • TypeScript (48)
        • CSS (10)
      • Git (11)
      • SQL (5)
      • Flutter (10)
        • Tip (1)
      • System (1)
      • BaekJoon (6)
      • Portfolio (2)
      • MacOS (1)
      • 유틸리티 (1)
      • 서비스 (6)
      • 자동화 (3)
      • Hobby (10)
        • 물생활 (10)
        • 식집사 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • 다비즈
  • 공지사항

  • 인기 글

  • 태그

    카페24리뷰이관
    cv2
    스크립트 실행
    파이썬
    codingtips
    스크립트 실행 순서
    programmerlife
    appdevelopment
    ipcamera
    programming101
    learntocode
    Python
    rtsp
    리뷰관리
    스마트스토어리뷰
    카페24리뷰
    셀레니움
    유니티
    리뷰이관
    믈레코비타멸균우유
    상품 리뷰 크롤링
    쇼핑몰리뷰
    codingcommunity
    긴유통기한우유
    list
    리스트
    라떼우유
    devlife
    unity
    C#
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
코샵
Firebase의 DataSnapshot에 대해서
상단으로

티스토리툴바