Firebase Database에 데이터를 저장하는 방법

2023. 11. 16. 10:02·Unity/Firebase
반응형

Firebase Database는 Firebase에서 제공하는 NoSQL 데이터베이스입니다. NoSQL 데이터베이스는 관계형 데이터베이스와 달리, 데이터를 행과 열로 저장하지 않고, 키-값 쌍으로 저장합니다.

 

Firebase Database에 데이터를 저장하는 방법은 여러 가지가 있습니다. 그 중 대표적인 메서드는 다음과 같습니다.

  • SetRawJsonValueAsync
  • UpdateChildrenAsync
  • SetValueAsync
  • SetPriorityAsync

SetRawJsonValueAsync

SetRawJsonValueAsync() 메서드는 지정된 경로에 JSON 값을 저장하는 메서드입니다.

이 메서드는 지정된 경로에 JSON 값을 저장합니다. JSON 값은 키-값 쌍으로 구성된 객체 또는 배열이 될 수 있습니다.

using Firebase.Database;

public class MyClass {

    public void SetData() {
        // DatabaseReference 객체를 참조합니다.
        DatabaseReference databaseReference = FirebaseDatabase.GetInstance().GetReference();

        // JSON 값을 생성합니다.
        Dictionary<string, object> data = new Dictionary<string, object>();
        data["name"] = "John Doe";
        data["age"] = 30;

        // JSON 값을 저장합니다.
        databaseReference.SetRawJsonValueAsync(data);
    }
}

 

이 예제에서는 SetData() 메서드에서 DatabaseReference 객체를 참조합니다. 그리고 DatabaseReference 객체의 SetRawJsonValueAsync() 메서드를 사용하여 다음과 같은 JSON 값을 저장합니다.

{
    "name": "John Doe",
    "age": 30
}

    

UpdateChildrenAsync

UpdateChildrenAsync() 메서드는 지정된 경로에 자식 값을 업데이트하는 메서드입니다.

이 메서드는 지정된 경로의 자식 값을 업데이트합니다. 업데이트할 값은 키-값 쌍으로 구성된 객체 또는 배열이 될 수 있습니다.

예제

using Firebase.Database;

public class MyClass {

    public void UpdateData() {
        // DatabaseReference 객체를 참조합니다.
        DatabaseReference databaseReference = FirebaseDatabase.GetInstance().GetReference();

        // 업데이트할 데이터를 생성합니다.
        Dictionary<string, object> updateData = new Dictionary<string, object>();
        updateData["age"] = 31;

        // 데이터를 업데이트합니다.
        databaseReference.UpdateChildrenAsync(updateData);
    }
}

이 예제에서는 UpdateData() 메서드에서 DatabaseReference 객체를 참조합니다. 그리고 DatabaseReference 객체의 UpdateChildrenAsync() 메서드를 사용하여 age 값을 31로 업데이트합니다.

 

SetValueAsync

SetValueAsync() 메서드는 지정된 경로에 값을 저장하는 메서드입니다.

이 메서드는 지정된 경로에 값을 저장합니다. 값은 문자열, 숫자, 불리언 값, 배열 또는 객체가 될 수 있습니다.

using Firebase.Database;

public class MyClass {

    public void SetValue() {
        // DatabaseReference 객체를 참조합니다.
        DatabaseReference databaseReference = FirebaseDatabase.GetInstance().GetReference();

        // 값을 생성합니다.
        string value = "Hello, world!";

        // 값을 저장합니다.
        databaseReference.SetValueAsync(value);
    }
}

이 예제에서는 SetValue() 메서드에서 DatabaseReference 객체를 참조합니다. 

 

SetPriorityAsync

SetPriorityAsync() 메서드는 지정된 경로에 데이터의 우선 순위를 설정하는 메서드입니다.

이 메서드는 지정된 경로에 데이터의 우선 순위를 설정합니다. 우선 순위는 0에서 255 사이의 값으로 설정할 수 있습니다. 값이 높을수록 우선 순위가 높습니다.

using Firebase.Database;

public class MyClass {

    public void SetPriority() {
        // DatabaseReference 객체를 참조합니다.
        DatabaseReference databaseReference = FirebaseDatabase.GetInstance().GetReference();

        // 값을 생성합니다.
        int priority = 100;

        // 우선 순위를 설정합니다.
        databaseReference.SetPriorityAsync(priority).Wait();
    }
}

이 예제에서는 SetPriority() 메서드에서 DatabaseReference 객체를 참조합니다. 그리고 DatabaseReference 객체의 SetPriorityAsync() 메서드를 사용하여 데이터의 우선 순위를 100으로 설정합니다.

 

메서드의 차이점

SetRawJsonValueAsync(), UpdateChildrenAsync(), SetValueAsync() 메서드의 차이점은 다음과 같습니다.

메서드 차이점
SetRawJsonValueAsync() 지정된 경로에 JSON 값을 저장합니다.
UpdateChildrenAsync() 지정된 경로의 자식 값을 업데이트합니다.
SetValueAsync() 지정된 경로에 값을 저장합니다.

SetPriorityAsync() 메서드는 다른 메서드와 달리 데이터의 우선 순위를 설정하는 메서드입니다.

 

주의 사항

Firebase Database는 NoSQL 데이터베이스이기 때문에, 데이터의 구조가 정해져 있지 않습니다. 따라서, 데이터를 저장할 때에는 다음과 같은 사항에 유의해야 합니다.

  • 데이터의 경로를 잘 설정해야 합니다.
  • 데이터의 형식을 올바르게 지정해야 합니다.
  • 데이터의 중복을 피해야 합니다.

Firebase Database를 사용하면 다양한 종류의 데이터를 효율적으로 저장할 수 있습니다.

저작자표시 비영리 변경금지 (새창열림)

'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 토큰을 가져오는 방법  (2) 2023.11.15
Firebase의 DataSnapshot에 대해서  (0) 2023.10.12
'Unity/Firebase' 카테고리의 다른 글
  • ValueChanged 이벤트를 사용하여 실시간 데이터 업데이트
  • Windows 환경에서 Firebase 사용 시 발생하는 Unable to resolve reference 'UnityEditor.iOS.Extensions.Xcode' 에러 해결
  • Firebase 토큰을 가져오는 방법
  • Firebase의 DataSnapshot에 대해서
코샵
코샵
나의 코딩 일기장
    반응형
  • 코샵
    끄적끄적 코딩 공방
    코샵
  • 전체
    오늘
    어제
    • 분류 전체보기 (516) N
      • 상품 추천 (33)
      • MongoDB (4)
      • 하드웨어 (4) 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)
  • 블로그 메뉴

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

    • 다비즈
  • 공지사항

  • 인기 글

  • 태그

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

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
코샵
Firebase Database에 데이터를 저장하는 방법
상단으로

티스토리툴바