---
# System prepended metadata

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

---

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



## 拆分 Model

因專案會使用到的資料不只有一個 Collection，像是最後會完成的貼文動態牆，會使用到貼文及使用者等等資料，所有資料的 Model、Schema 都集中在 server.js，可能會造成維護、管理不易
因此可以嘗試將不同資料的 Model 拆分出來，再引入至 server.js 做使用

### 拆分步驟
- 在專案中建立 models 資料夾
- 分別依 Collection 建立檔案，如：`posts.js`、`users.js`...等等
- 因 Schema、Model 建立都需要 Mongoose 套件，因此需記得分別在 `posts.js`、`users.js` 引入 Mongoose 套件
- 將 Schema、Model 拆出來
```javascript
const postSchema = new mongoose.Schema(
  ...
);
const Post = mongoose.model('Post', postSchema);

module.exports = Post;
```
- 接著引入 models 資料夾中的 Model 到 server.js，即可直接針對 Model 操作新增、查詢、修改、刪除資料
註：引入 Model 時通常變數會使用大寫開頭，例如 Post、User，即可使用 `Post.create(...)` 等方式直接針對 Post 操作

### 參考資源

[model export 模組化](https://courses.hexschool.com/courses/1670869/lectures/39252181)（章節影片）

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


嘗試將此[檔案](https://drive.google.com/drive/folders/1oRjCzs3OajeUXVroNO6QS7fNomO1hwZ0?usp=sharing)的 Model 拆分到 models 資料夾，並引入 server.js 做使用
並附上拆分後的 models 程式碼以及將 models 引入 server.js 的程式碼

提交範例

- models 資料夾 - posts.js
```javascript
const mongoose = require('mongoose');
...
```
- server.js
```javascript
const __ = require('...');
```

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

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

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


<!-- 解答

- models 資料夾 - posts.js
```javascript
const mongoose = require('mongoose');
const postsSchema = new mongoose.Schema({
  /* Schema 可自行設計 */
});

const Post = mongoose.model(
  'Post',
  postsSchema
);

module.exports = Post;
```

- server.js
```javascript
const Post = require('./model/posts');
```

-->

回報區
---

| 報數 | 組別 / 名字          | codepen / hackMD / 其他回饋                                          |
| ---- | -------------------- | -------------------------------------------------------------------- |
| 1    | 第 6 組/ Wendy       | [HackMD](https://hackmd.io/@0k_MSPdgRPujozP6w_D-bA/ryoeTQC45)        |
| 2    | 第 4 組/ sihle       | [HackMD](https://hackmd.io/@bugbug777/HyKyXN04q)                     |
| 3    | 第 3 組 / HedgehogKU | [HackMD](https://hackmd.io/boCWu6uTRC6fY-QifAXpEw)                   |
| 4    | 第 11 組 / Han Lai   | [HackMD](https://hackmd.io/1xZ0eC90QG6LEbdx7hWOrQ)                   |
| 5    | 第 3 組 / Hobby      | [HackMD](https://hackmd.io/@hobbyling/day10)                         |
| 6    | 第 2 組 / Jin        | [HackMD](https://hackmd.io/nAUInxSoSR2IawWf4DHPWw)                   |
| 7    | 第 4 組 / 小宥       | [HackMD](https://hackmd.io/FGfmqKU7Ri2YyAF6IWWGhA)                   |
| 8    | 第 2 組 / Vic        | [HackMD](https://hackmd.io/Z_Xjj1ExQL-Y28s0lVg1Hw)                   |
| 9    | 第 5 組 / Hazel      | [HackMD@Hazel](https://hackmd.io/@hazelwu/day10)                     |
| 10   | 第 3 組 / Adam Hsu   | [HackMD](https://hackmd.io/@S9gD__kVTSiQUupQNn_4FQ/r13UT4AEc)        |
| 11   | 第 9 組 / 黃士桓     | [HackMD](https://hackmd.io/bDaeecNyTYO3avEUfiHoDA)                   |
| 12   | Naiky                | [HackMD @Naiky](https://hackmd.io/@UWBC7rrORiKaLSBg226mZg/BJN_GBCE5) |
| 13   | 第 2 組 / Genos      | [HackMD](https://hackmd.io/5A8AcAMeSSOA96WvjFH48g)                   |
| 14   | 第 2 組 / peter      | [HackMD](https://hackmd.io/@peterchen1024/HyPWWICVc)                 |
| 15   | 第 8 組 / JackLee    | [HackMD](https://hackmd.io/QOANa60uRd6KAHEl3I_6Eg?view)              |
| 16   | 第 8 組 / Hank       | [HackMD](https://hackmd.io/@TFOivyvXT-qpG6SieUTfgw/rJq5pdAE9)        |
| 17   | 第 14 組｜East       | [HackMD](https://hackmd.io/ERSdNucVTqK94zHQqwCBSg)                   |
| 18   | 第 3 組｜hiYifang    | [HackMD](https://hackmd.io/@gPeowpvtQX2Om6AmD-s3xw/HyTyStcV5)        |
| 19   | 第 12 組｜Jimmy      | [HackMD](https://hackmd.io/bO4G6bc6QeOs_RIJOTqfbQ)                   |
| 20   | 第 4 組｜ 苡安       | [HackMD](https://hackmd.io/TmHro5X9SYCRszvR8Y0Sdw?both)              |
| 21   | 第 5 組｜ Nap        | [HackMD](https://hackmd.io/@8x8YzkXNSzafUSO3LZTmUw/SypoViA49)        |
|    22    |第 9 組 / konstante|[HackMD](https://hackmd.io/PJdgtCp2See-63nO6iY5Nw)|
|    23    |第 13 組 / KFC     |[HankMD]('https://hackmd.io/qSWr6tjxTkyFUC_GugR64w?view')|
|    24    |第 1 組 / snow | [HackMD](https://hackmd.io/@snowsuika/BJ7_e60Vq)        |
|    25    |第 2 組 / wendy.li | [HackMD](https://hackmd.io/mDLUdTi4QiK2qTRTxOyD8Q)        |
|26|第14組/uniza| [HackMD](https://hackmd.io/Wjp5EvhgR1mCx0QodnXPQw?both)
|    27    |第 3 組 / Justin | [HackMD](https://hackmd.io/R1bmFPgdSdmJOjS1gnywKw)        |
| 28 | 第 3 組 / Larry |[HackMD](https://hackmd.io/u1p2jE0bQF-Pwx_-VgD3dg)|
| 29 | 第 2 組 / joe Chang |[HackMD](https://hackmd.io/uaRTw9c0TgOrADyXMmGL0Q?view#421---%E6%8B%86%E5%88%86-Model)|
| 30 | 第 1 組 / Claire |[HackMD](https://hackmd.io/YOjvpGuUQQuWpCOt9IghZg)|
| 31 | 第 1 組 / Jerry Huang |[codepen](https://codepen.io/sun31483/pen/MWrRmRQ?editors=1010)|
| 32 | 第 2 組 / Rikkubook |[HackMD](https://hackmd.io/NifQO2i0SDmN7op5dbo_pg?both)|
| 33 | 第7組/Tracy Chien | [HackMD](https://hackmd.io/@H0MPUhcWR12nImVv1qJyLA/r1VErxZr9)
| 34 | yolala| [HackMD](https://hackmd.io/PooWrAqtQAOQZjCZAliZ9A)
| 35 | 第 15 組 / Chiu| [HackMD](https://hackmd.io/AsKLGQkKR-27VzZsAccw6g)
| 36 | 第 7 組 / jason06286| [HackMD](https://hackmd.io/RZvcVMOUTR2yeI0Q2E0NnQ)
| 37 | 第 15 組 / Tofu | [HackMD](https://hackmd.io/uk_KCkZeSc2feWfCBbPBYQ?view)
| 38 | 第 10 組 / 橘子 | [HackMD](https://hackmd.io/ytRgr1XyT1uOg4oyBdqBtQ)
| 39 | 第 1 組 / Phoebe | [HackMD](https://hackmd.io/@Phoebe26/rJ0RcqQHq)
| 40 | 第 16 組 / 皓皓 | [HackMD](https://hackmd.io/@cutecat8110/B1LD0cmH9)
| 41 | 第 17 組 / 程翔 | [HackMD](https://hackmd.io/IxlRQixlTFulRAjgL-mBwA)
| 42 | 第 1 組 / Ed | [HackMD](https://hackmd.io/A_W1dQPjTGqp-DBZ6iaOtw?view)
| 43 | 第 8 組 / Jordan Tseng | [HackMD](https://hackmd.io/kDYWPtsaS9m3Ki9mQz_LSw)
| 44 | 第 10 組 / Otis | [HackMD](https://hackmd.io/@wAXXVY7eQ2WkcVtv8Vopzg/SJlat_BSq)
| 45 | 第 3 組 / 小葉 | [HackMD](https://hackmd.io/@FyKv37KcRSWqAO_e336w8g/rkdkoH8S5)
| 46 | 第 11 組 / Jamie Lee | [HackMD](https://hackmd.io/_OKpui0PRyCK81mfoCvtmg?view)
| 47 | 第 9 組 / Reynold | [HackMD](https://hackmd.io/@dL7AuQEMQ6KpCSRHaYElOA/rkGvkk_S5)
| 48 | 第 11 組 / mandy | [HackMD](https://hackmd.io/-Kl6J2K4QFOuFYFvPia1SA)
| 49 | nick6303 | [HackMD](https://hackmd.io/TGgfDvj7QD6BxKhrc19ffQ)
| 50 | 第 1 組 / Emily Hsi | [HackMD](https://hackmd.io/@EmilyHsi/rynvF_6Hq)
| 51 | 第 10 組 / Butters | [HackMD](https://hackmd.io/ytRgr1XyT1uOg4oyBdqBtQ?view)
| 52 | 第 14 組 / 皮皮 | [HackMD](https://hackmd.io/X-IMDqG0SO-YdAVU8B_VPA)