---
# System prepended metadata

title: "\U0001F3C5 Day 37"
tags: [Node.js 直播班 - 2022 春季班]

---

---
tags: Node.js 直播班 - 2022 春季班
---
# 🏅 Day 37



## MongoDB 資料設計 embedded / references
常見的資料庫設計有：**embedded** 及 **references**
![](https://i.imgur.com/TkJ5tXJ.png)
像是第四週有練習的 Mongoose populate 語法，因貼文資料會加入 user 欄位把使用者資料加入，不過因使用者的資料在眾多貼文中可能會重複，並且是可能會被修改的，若將資料寫死在貼文資料中，修改上會很麻煩，因此可以將使用者資料另外放一個 Model，取得貼文時再使用 populate 關聯使用者資料，確保取得貼文時帶入的是最新的使用者資料


實作上也會依不同需求情境來選擇要使用哪種資料庫設計



### 題目（將答案寫在 HackMD 並提交至回報區）

請依據以下描述的情境選擇要使用 ==**方案 A embedded**== 或 ==**方案 B references**== 的做法

回覆範例
```
題目一
1.A
2.B
3.A

題目二
A

題目三
...
```
[題目來源](https://whimsical.com/3CkqgyD3n3GvsCrdkywruw)


#### 題目一
![](https://i.imgur.com/EpvwLTV.png)
1. 製作訂房系統，但希望可以做註冊登入功能，另外儲存使用者資料，訂單資料同時也會需要紀錄使用者的資料
2. 以留言板的模式製作一個較陽春的訂房系統，預約一個房型就如同新增一個留言，為了節省開發成本，不會新增其他資料，也不需註冊會員


#### 題目二
![](https://i.imgur.com/nJHXQ2o.png)
該火車時刻表每天會被查詢近千萬次，班次資料幾乎都是固定的，變更頻率低（很常被讀取，較少被寫入）


#### 題目三
![](https://i.imgur.com/0IgKTdF.png)
使用者可以時常新增貼文（無法預測貼文數量），系統也允許修改個人資料
例如：修改個人大頭貼後，所有該使用者發布的貼文的個人大頭貼都會同步更換
使用者也很常觀看其他人的貼文，貼文中也會顯示個人資訊


#### 題目四
![](https://i.imgur.com/F6VFGcX.png)
依[設計稿此頁](https://xd.adobe.com/view/c0763dbe-fc15-42e8-be0b-8956ed03e675-9525/screen/ace2ccc4-7e50-401b-998a-a14f49e87918/specs/)設計 
貼文的數量不可預測，按讚資訊不會顯示出按讚者的資訊，同時使用者資料可能隨時變更

回報流程
---
請同學依照下圖教學觀看解答、回報答案:

![](https://i.imgur.com/QtL8zEW.png)

回報格式：請在「回報區」貼上 CodePen 或 HackMD 連結回報答案 (為了統計人數，請同學依序加上「報數」)


<!-- 解答
題目一
1.B
2.A


題目二
A

題目三
B

題目四
B
-->

回報區
---

| 報數 | 組別 / 名字         | codepen / hackMD / 其他回饋                                   |
| ---- | ------------------- | ------------------------------------------------------------- |
| 1    | 第 5 組@Hazel       | [HackMD@Hazel](https://hackmd.io/@hazelwu/day37)              |
| 2    | 第 3 組 /  hiYifang | [HackMD](https://hackmd.io/@gPeowpvtQX2Om6AmD-s3xw/SJa_42Wu9) |
| 3    | 第 4 組 /  苡安     | [HackMD](https://hackmd.io/rSYXGBWNTlOeAfFSwbaqGw)            |
| 4     |第 9 組 / konstante |[HackMD](https://hackmd.io/1pItWPgoQ72qrVuA_LRh6Q?both)|
| 5     |第 14 組｜East |[HackMD](https://hackmd.io/7ALz6DGaRzmHiJ0xEhSKng)|
| 6 | 第 2 組｜wendy | [HackMD](https://hackmd.io/80FIwll1QUa4u0-WoBv-hQ#20220527) |
| 7     |第 3 組｜Hobby |[HackMD](https://hackmd.io/@hobbyling/day37)|
| 8     |第 1 組｜Emily Hsi |[HackMD](https://hackmd.io/@EmilyHsi/S19tZAr_5)|
| 9     |第 15 組｜yolala |[HackMD](https://hackmd.io/se8wVTjCQQG92hW60IGPGg)|
| 10    |第 11 組｜Han Lai |[HackMD](https://hackmd.io/Ejtj7JoRR7yOCqrAoZjbdA?view)|
| 11    |第 16 組｜皓皓 |[HackMD](https://hackmd.io/@cutecat8110/H1CNNY-sc)|


