본문 바로가기
C#/Firebase

C# : Firebase 사용하기 - 03 (Firebase 데이터 추가)

by Half-Dev 2021. 1. 1.

이번에는 CRUD를 해보도록 하겠습니다.

 

CRUD는 대부분의 소프트웨어가 가지는 기본적인 데이터 처리 기능인 Create(생성), Read(읽기), Update(갱신), Delete(삭제)를 묶어서 일컫는 말입니다. 사용자 인터페이스가 갖추어야 할 기능을 가리키는 용어로서도 사용됩니다.

 

즉, 제일 중요한 부분이니 천천히 따라와주시면 됩니다.

 


 

Part 1. 커스텀 ID 생성

저번에는 자동 ID생성 까지 진행을 했습니다.

 

이번에는 커스텀으로 ID를 생성해서 만들어보는 것을 해보겠습니다.

아래의 코드를 보게 되면, Collection뒤에 Dcoument로 myDoc 라고 작성이되어 있는것을 볼 수 있습니다.

즉, 이 부분이 커스텀 ID로 생성될 부분이 되겠습니다.

1
2
3
4
5
6
7
8
9
10
11
12
void Add_Document_with_CustomID()
{
    DocumentReference DOC = db.Collection("Add_Document_Width_CustomID").Document("myDoc");
    Dictionary<stringobject> data1 = new Dictionary<stringobject>()
    {
        {"FirestName""Kim" },
        {"LastName","Jinwon" },
        {"PhoneNumber""010-1234-5789" }
    };
    DOC.SetAsync(data1);
    MessageBox.Show("data added successfully");
}
cs

 

 

 

Part 2. Array 생성

다음으로는 Array로 생성을 하는방법을 알아보도록 하겠습니다.

Array의 경우는 Index로 구분을 합니다.

Array로 데이터를 어떻게 가져오는지는 뒤에 나오니, 차근차근 해보시면 되겠습니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void Add_Array()
{
    DocumentReference DOC = db.Collection("Add_Aray").Document("myDoc");
    Dictionary<stringobject> data1 = new Dictionary<stringobject>();
 
    ArrayList array = new ArrayList();
    array.Add(123);
    array.Add("name");
    array.Add(true);
 
    data1.Add("My Array", array);
    DOC.SetAsync(data1);
 
    MessageBox.Show("data added successfully");
}
cs

 

 

Part 3. List 생성

List로 생성을 하게 되면, 접고 필수 있습니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void Add_ListOfObjects()
{
    DocumentReference DOC = db.Collection("Add_ListOfObjects").Document("myDoc");
    Dictionary<stringobject> MainData = new Dictionary<stringobject>();
    Dictionary<stringobject> List1 = new Dictionary<stringobject>()
    {
        {"FirestName""Kim" },
        {"LastName","Jinwon" },
        {"PhoneNumber""010-1234-5678" }
    };
 
    MainData.Add("MyList", List1);
 
    DOC.SetAsync(MainData);
    MessageBox.Show("data added successfully");
}
cs


여기까지 진행을 하도록 하고 다음글에서 뵙도록 하겠습니다.

감사합니다.

 

해당 코드는 저의 깃허브에서도 볼 수 있습니다.

전체 코드

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Google.Cloud.Firestore;
 
namespace CsFirebaseBlog
{
    public partial class Form1 : Form
    {
        FirestoreDb db;
        public Form1()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            Add_Document_with_AutoID();
        }

        private void button2_Click(object sender, EventArgs e)
        {
            Add_Document_with_CustomID();
        }
 
        private void button3_Click(object sender, EventArgs e)
        {
            Add_Array();
        }
        private void button4_Click(object sender, EventArgs e)
        {
            Add_ListOfObjects();
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
            string path = AppDomain.CurrentDomain.BaseDirectory + @"cs-firebase-blog-firebase-adminsdk-18cwe-b5971a4787.json";
            Environment.SetEnvironmentVariable("GOOGLE_APPLICATION_CREDENTIALS", path);
 
            db = FirestoreDb.Create("cs-firebase-blog");
        }
 
 
        void Add_Document_with_AutoID()
        {
            CollectionReference coll = db.Collection("Add_Document_Width_AutoID");
            Dictionary<stringobject> data1 = new Dictionary<stringobject>()
            {
                {"FirestName""Kim" },
                {"LastName","Jinwon" },
                {"PhoneNumber""010-1234-5678" }
            };
            coll.AddAsync(data1);
            MessageBox.Show("data added successfully");
        }
 
        void Add_Document_with_CustomID()
        {
            DocumentReference DOC = db.Collection("Add_Document_Width_CustomID").Document("myDoc");
            Dictionary<stringobject> data1 = new Dictionary<stringobject>()
            {
                {"FirestName""Kim" },
                {"LastName","Jinwon" },
                {"PhoneNumber""010-1234-5789" }
            };
            DOC.SetAsync(data1);
            MessageBox.Show("data added successfully");
        }
 
        void Add_Array()
        {
            DocumentReference DOC = db.Collection("Add_Aray").Document("myDoc");
            Dictionary<stringobject> data1 = new Dictionary<stringobject>();
 
            ArrayList array = new ArrayList();
            array.Add(123);
            array.Add("name");
            array.Add(true);
 
            data1.Add("My Array", array);
            DOC.SetAsync(data1);
 
            MessageBox.Show("data added successfully");
        }
 
        void Add_ListOfObjects()
        {
            DocumentReference DOC = db.Collection("Add_ListOfObjects").Document("myDoc");
            Dictionary<stringobject> MainData = new Dictionary<stringobject>();
            Dictionary<stringobject> List1 = new Dictionary<stringobject>()
            {
                {"FirestName""Kim" },
                {"LastName","Jinwon" },
                {"PhoneNumber""010-1234-5678" }
            };
 
            MainData.Add("MyList", List1);
 
            DOC.SetAsync(MainData);
            MessageBox.Show("data added successfully");
        }
    }
}
cs

 

댓글