回顧一下前幾天的 MongoDB 資料庫設計,應該有留意到不論是在傳統發票、紙本電子發票以及載具,我都是利用 tag 來做區隔,這是為了可以將資料全部都塞在同一個 Collection 的方式進行設計
我考慮這樣做的原因是,後續在查詢的時候,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
因此,我接下來可以設計一個上傳發票的路由,來達成不同發票的上傳,明天將會繼續介紹!