請先到 Console 建立一個專案。
到 Database 分頁,選擇建立(測試版) Firestore 資料庫
可以先選擇測試模式
這時候你就換看到檢視資料的頁面
在 Firestore,如昨天所述:「而 Cloud Firestore 是將資料存在被組織在 collections 中的 documents 裡」,這樣聽起來還是有點含糊,所以就讓我們在研究下去吧。這邊就就先直接將 collections 譯為「集合」、documents 譯為「文件」囉!
在 Firestore 資料庫裡,是有集合和文件的概念。集合裡面的每個項目都是文件,文件本身有欄位可以儲存資料,而文件又可以擁有多個集合,然後陷入這樣的循環:集合 -> 文件 -> 集合 -> 文件 -> 集合 ...。這樣講下來,似乎會出現雞與蛋的問題:「到底是先有集合、還是先有文件呢?」,事實上,在最一開始的階級,就是由多個集合所組成,你可以把它視為一個沒有欄位的文件。接這就開始上述的循環了。
若嘗試以 JSON 表達這樣的架構,大概就長得像這樣吧:
{
"collection_1": {
"document_1-1":{
"collection_1-1-1": {
// ....
},
"collection_1-1-2": {
// ....
},
"field_1-1-A": "....",
"field_1-1-B": "....",
"field_1-1-C": "...."
// ....
},
"document_1-2":{
// ....
}
},
"collection_2": {
// ....
}
}
每個集合和文件都有 id,可以自己命名,也可以透過系統產生 20 位的英數混合字串作為 id。
在 Firestore 中,基本上就是以文件為儲存單位,而每個文件都必須存在集合之中。文件裡可以透過欄位儲存資料,像是這樣:
first : "Ruoshi"
last : "Lin"
born : 1900
如果想要更複雜的,也可以將資料以類似這樣的形式儲存:
name :
first : "Ruoshi"
last : "Lin"
born : 1900
這種類似嵌套的資料類型在 Firestore 被稱為 Map,如果你想要,甚至可以在 Map 裡面再建立一個 Map,變成多個嵌套:
name :
normal:
first : "Ruoshi"
last : "Lin"
nick: "Yuehu"
born : 1900
以管理介面來舉例,大概就會像這樣:
事實上,文件本身就是一個 JSON,但文件支援更多的資料類型、而且有大小限制,最多只能到 1MB。儘管如此,就一般來說我們仍可以將文件視為一個輕量的 JSON 紀錄。
今天大致先研究到這裡,雖然不能一口氣把集合一起研究完,但是重點是要保持穩定產能,才不會今天把體力耗盡,明天就寫不出來了 XD。