MongoDB 是一個 NoSQL 的文件資料庫,相較於昨天設計關聯式資料庫 Postgres,我們通常必須先定義好資料庫格式,但是使用 MongoDB 無須先定義資料結構。因此在資料格式可能不一樣的情況或是想要迅速開發來測試,我覺得特別適合。
考量到有不同種類的發票來源,但我都想儲存在同一個 Collection,因此我透過 tag 的方式去做區隔,就可以讓同一個 Collection 儲存各式各樣不同的資料。
這裡我將資料都儲存到 data
第一層紀錄使用者的基本資訊,例如姓名、手機電話以及這張發票號碼、消費日期、隨機碼
第二層紀錄查詢財政部 API 的結果,如果有結果,就會將資訊紀錄在 response
第三層紀錄發票購買明細
如果有發生查詢錯誤,這裡就可以將資訊紀錄到 gov 這個資訊
status :顯示給前端用戶查看
gov_status: 顯示給平台人員查看
error_msg:顯示給平台人員查看(紀錄程式跑到 Exception 也可以)