iT邦幫忙

2023 iThome 鐵人賽

DAY 19
0

回顧一下前幾天的 MongoDB 資料庫設計,應該有留意到不論是在傳統發票、紙本電子發票以及載具,我都是利用 tag 來做區隔,這是為了可以將資料全部都塞在同一個 Collection 的方式進行設計

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

我考慮這樣做的原因是,後續在查詢的時候,MongoDB 連線只要連同一個 Collection 即可,不用更換。由於三種不同的資料都要放在同一個 Collection,我想勢必要有一個相同的格式來管理資料,於是可以看見我設計有 tag、created_timestamp、updated_timestmap、data (可以兼容任意的資料格式)。

Model 可以定義如下:

from beanie import Document
from datetime import datetime

class Data(Document):
    tag: str
    data: dict
    created_timestamp: datetime
    updated_timestamp: datetime

因此,我接下來可以設計一個上傳發票的路由,來達成不同發票的上傳,明天將會繼續介紹!


上一篇
Day 18:圖片 API
下一篇
Day 20:Swagger UI 引入範例
系列文
透過 python 建立發票系統 - 自己的發票自己查30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言