Unity/Unity 리서치

[Firestore] 커스텀객체(Custom Object) - Dictionary 변환

lipnus 2021. 7. 10. 15:12
반응형

Firestore에서 자체적으로 기능을 제공

 

 

Object 코드

using Firebase.Firestore;

[FirestoreData]
public class City
{
        [FirestoreProperty]
        public string Name { get; set; }

        [FirestoreProperty]
        public string State { get; set; }

        [FirestoreProperty]
        public string Country { get; set; }

        [FirestoreProperty]
        public bool Capital { get; set; }

        [FirestoreProperty]
        public long Population { get; set; }
}

 

 

Post하는 코드

	private FirebaseFirestore db;
   
    void Start()
    {
        db = FirebaseFirestore.DefaultInstance;
    }

	public void PostCity() {
        Debug.Log("#### PostCity()");
        DocumentReference docRef = db.Collection("cities").Document("LA");
        City city = new City
        {
                Name = "Los Angeles",
                State = "CA",
                Country = "USA",
                Capital = false,
                Population = 3900000L
        };

        docRef.SetAsync(city);
    }

city의 인스턴스를 생성하고 값을 할당하고 업로드

 

 

 

Get하는 코드

    public void GetCity() {
        Debug.Log("#### GetCity()");
        DocumentReference docRef = db.Collection("cities").Document("LA");

        docRef.GetSnapshotAsync().ContinueWith((task) =>
        {
            var snapshot = task.Result;
            if (snapshot.Exists)
            {
                Debug.Log(String.Format("#### Document data for {0} document:", snapshot.Id));
                
                City city = snapshot.ConvertTo<City>();
                Debug.Log(String.Format("#### Name: {0}", city.Name));
                Debug.Log(String.Format("#### State: {0}", city.State));
                Debug.Log(String.Format("#### Country: {0}", city.Country));
                Debug.Log(String.Format("#### Capital: {0}", city.Capital));
                Debug.Log(String.Format("#### Population: {0}", city.Population));
            }
            else
            {
                Debug.Log(String.Format("#### Document {0} does not exist!", snapshot.Id));
            }
        });
    }

 

 

Post

 

Cloud Firestore에 데이터 추가  |  Firebase

다음과 같은 몇 가지 방법으로 Cloud Firestore에 데이터를 쓸 수 있습니다. 문서 식별자를 명시적으로 지정하여 컬렉션 내의 문서 데이터를 설정합니다. 컬렉션에 새 문서를 추가합니다. 이 경우 Clo

firebase.google.cn

 

Get

 

Cloud Firestore로 데이터 가져오기  |  Firebase

두 가지 방법으로 Cloud Firestore에 저장된 데이터를 검색할 수 있습니다. 문서, 문서 컬렉션 또는 쿼리 결과에 대해 이러한 방법 중 하나를 사용할 수 있습니다. 메서드를 호출하여 데이터를 가져

firebase.google.cn

 

반응형

'Unity > Unity 리서치' 카테고리의 다른 글

Unity Language Localization  (0) 2021.07.11
TextmeshPro 한글폰트 적용  (0) 2021.07.11
Dictionary와 Object 변환  (0) 2021.07.10
Firebase로 서버와 데이터 주고받기  (0) 2021.07.09
유니티 이벤트(UnityEvent)  (0) 2021.07.09