iT邦幫忙

2023 iThome 鐵人賽

DAY 14
0

MongoDB 是一個 NoSQL 的文件資料庫,相較於昨天設計關聯式資料庫 Postgres,我們通常必須先定義好資料庫格式,但是使用 MongoDB 無須先定義資料結構。因此在資料格式可能不一樣的情況或是想要迅速開發來測試,我覺得特別適合。

考量到有不同種類的發票來源,但我都想儲存在同一個 Collection,因此我透過 tag 的方式去做區隔,就可以讓同一個 Collection 儲存各式各樣不同的資料。

  1. 正確發票

這裡我將資料都儲存到 data

第一層紀錄使用者的基本資訊,例如姓名、手機電話以及這張發票號碼、消費日期、隨機碼

第二層紀錄查詢財政部 API 的結果,如果有結果,就會將資訊紀錄在 response

第三層紀錄發票購買明細

https://ithelp.ithome.com.tw/upload/images/20230923/201143807ShpuwTom3.png

  1. 隨機碼有誤

如果有發生查詢錯誤,這裡就可以將資訊紀錄到 gov 這個資訊

  • status :顯示給前端用戶查看

  • gov_status: 顯示給平台人員查看

  • error_msg:顯示給平台人員查看(紀錄程式跑到 Exception 也可以)

https://ithelp.ithome.com.tw/upload/images/20230923/20114380RypZbZ8cpK.png

  1. 發票有誤

https://ithelp.ithome.com.tw/upload/images/20230927/20114380OpNHVEevq5.png


上一篇
Day 13:用 Postgres 設計
下一篇
Day 15:用 MongoDB 設計 - 傳統發票
系列文
透過 python 建立發票系統 - 自己的發票自己查30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言