---
# System prepended metadata

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

---

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



## Mongoose 修改 / 刪除

延續前兩天的每日任務，須先建立 Schema、Model 後，再透過 Model 執行修改、刪除 document 等動作

針對 Model 修改、刪除有多個方式（可參考[文件](https://mongoosejs.com/docs/api/model.html)），在此列出其中幾個方式

### Mongoose 修改

#### findByIdAndUpdate
修改單筆 ID document
寫法為：
```javascript
const Room = mongoose.model('Room', roomSchema);
// 修改特定 Id 的 document
Room.findByIdAndUpdate("621e45063ff3c8af575a7498", {
    "name": "海景雙人房"
}) // id, update
```
需分別帶入參數 id，以及需修改的欄位

#### updateOne()
修改單筆的特定條件之 document
```javascript
const Room = mongoose.model('Room', roomSchema);
// 修改特定條件的第一筆 document
Room.updateOne(
  {
    "name": "海景雙人房"
  }, {
    "price": 4500
}) 
```
也可使用 **updateMany()** 修改多筆 documents


### Mongoose 刪除

#### deleteMany()


```javascript
// 刪除所有 rooms collection 中的 documents
Room.deleteMany({})

// 刪除符合特定條件的多個 documents
Room.deleteMany({rating: {$lt: 3}})

```
#### findByIdAndDelete()
```javascript
// 刪除特定 ID 的 documents
Room.findByIdAndDelete("621e45063ff3c8af575a7498") // id
```
帶入參數 ID，為 `findOneAndDelete({_id: id})` 的簡寫




### 參考資源
[Mongoose v6.2.10: Model](https://mongoosejs.com/docs/api/model.html)

章節影片
[deleteMany() 刪除全部房型](https://courses.hexschool.com/courses/1670869/lectures/39252184)
[刪除單筆 findByIdAndDelete()、更新單筆 findByIdAndUpdate()](https://courses.hexschool.com/courses/1670869/lectures/39252185)

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

延續 Day6 - 7 每日任務，嘗試修改、刪除手搖飲 documents
可下載此[檔案](https://drive.google.com/drive/folders/1oRjCzs3OajeUXVroNO6QS7fNomO1hwZ0?usp=sharing)測試是否可正確更新、刪除單筆資料

1. 尋找一筆 document 並將 `ice` 改為 `去冰`，`sugar` 改為 `半糖`
```javascript

```

2. 以 ID 尋找一筆 document 並將其刪除
```javascript

```
3. 刪除全部 documents
```javascript

```



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

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

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



<!-- 解答

1.尋找一筆 document 並將 `ice` 改為 `去冰`，`sugar` 改為 `半糖`

Drink.findOneAndUpdate({ name: "鮮奶茶" }, {
    "ice": "去冰",
    "sugar": "半糖"
})

Drink.findByIdAndUpdate("...", {
  "ice": "去冰",
  "sugar": "半糖"
})

// 或是 updateOne() 也可以



2. 以 ID 尋找一筆 document 並將其刪除

Drink.findByIdAndDelete("62559f3bef2d96ec6556bd1e")


3. 刪除全部 documents

Drink.deleteMany({})


-->

回報區
---

| 報數 | 組別 / 名字          | codepen / hackMD / 其他回饋                                                                                   |
| ---- | -------------------- | ------------------------------------------------------------------------------------------------------------- |
| 1    | 第 6 組 / Wendy      | [HackMD](https://hackmd.io/@0k_MSPdgRPujozP6w_D-bA/Hy-0iA2Eq)                                                 |
| 2    | 第 2 組 / Vic        | [HackMD](https://hackmd.io/Z_yX8lVmTzynfvv-YYHJ9A)                                                            |
| 2    | 第 5 組 / Hazel      | [HackMD@Hazel](https://hackmd.io/@hazelwu/day9)                                                               |
| 4    | 第 4 組 / sihle      | [HackMD](https://hackmd.io/@bugbug777/HJxuGJa45)                                                              |
| 5    | 第 3 組 / HedgehogKU | [HackMD](https://hackmd.io/5ixjb_0FQpC7NvOA3zdOaA)                                                            |
| 6    | 第 4 組 / 小宥       | [HackMD](https://hackmd.io/Y2MorybBQOuFznrGCwqLow)                                                            |
| 7    | 第 2 組 / Jin        | [HackMD](https://hackmd.io/1HWsi5S0QnaLNEx6e9Jmig)                                                            |
| 8    | 第 3 組 / Hobby      | [HackMD](https://hackmd.io/@hobbyling/day9)                                                                   |
| 9    | 第 5 組 / Nap        | [HackMD](https://hackmd.io/@8x8YzkXNSzafUSO3LZTmUw/BJmmcJT4q)                                                 |
| 10   | 第 7 組 / 程翔       | [HackMD](https://hackmd.io/eH6PKHVVTXq_5ZnC2G17Yw)                                                            |
| 11   | 第 8 組 / JackLee    | [HackMD](https://hackmd.io/jN7tXuLjQ-uuNiyrkimeiA?view)                                                       |
| 12   | 第 2 組 / Genos      | [HackMD](https://hackmd.io/5A8AcAMeSSOA96WvjFH48g?view)                                                       |
| 13   | 第 2 組 / peter      | [HackMD](https://hackmd.io/@peterchen1024/B1IDMxpVq)                                                          |
| 14   | 第 12 組 / Jimmy     | [HackMD](https://hackmd.io/Syj5cnIaSr2UcAYtHtGVwg)                                                            |
| 15   | 第 8 組 / Hank       | [HackMD](https://hackmd.io/@TFOivyvXT-qpG6SieUTfgw/BkOkvlTEq)                                                 |
| 16   | 第 3 組 / Justin     | [HackMD](https://hackmd.io/r33zmu-kQLOZw3ptwIOvGA?view)                                                       |
| 17   | 第 8 組 / Albert     | [HackMD](https://hackmd.io/@Albertnotes/SyScjBhVq)                                                            |
| 18   | 第 3 組 / Larry      | [HackMD](https://hackmd.io/m12_yhRMS1SQjtVOUtkkug)                                                            |
| 19   | 第 3 組 / 小葉       | [HackMD](https://hackmd.io/@FyKv37KcRSWqAO_e336w8g/BJSP4za45)                                                 |
| 20   | 第 14 組｜East       | [HackMD](https://hackmd.io/eMopTLIDTgSQ3jdKu71H7g)                                                            |
| 21   | 第 9 組 / Reynold    | [HackMD](https://hackmd.io/@dL7AuQEMQ6KpCSRHaYElOA/ryEdVmTV5)                                                 |
| 22   | 第 3 組 /  hiYifang  | [HackMD](https://hackmd.io/@gPeowpvtQX2Om6AmD-s3xw/HyTyStcV5)                                                 |
| 23   | 第 3 組 / Adam Hsu   | [HackMD](https://hackmd.io/@S9gD__kVTSiQUupQNn_4FQ/ryrmzmaEq)                                                 |
| 24   | 第 2 組 / joe Chang  | [HackMD](https://hackmd.io/uaRTw9c0TgOrADyXMmGL0Q?view#420---Mongoose-%E4%BF%AE%E6%94%B9--%E5%88%AA%E9%99%A4) |
| 25   | Naiky                | [HackMD @Naiky](https://hackmd.io/@UWBC7rrORiKaLSBg226mZg/rkhexU64c)                                          |
|26      |第 9 組 / konstante      |[HackMD](https://hackmd.io/8_Q5VHEbQHuFVeTolh0bpg)|
|27|第14組/uniza|[HackMD](https://hackmd.io/Z-mHr6hHReeC0uNuYU_Cig)|
|28|第13組 / KFC|[HackMD](https://hackmd.io/JaEZI2o7SJu_CZ9SvF-r7g?view)
|29|第 4 組 / 苡安|[HackMD](https://hackmd.io/hX4ekGFkRyaBvoEMqLto2Q)
| 30 | 第 15 組 / Tofu | [HackMD](https://hackmd.io/yCN12UksTRiMghaGX_lhiw)
| 31 | 第 2 組 / wendy.li | [HackMD](https://hackmd.io/65-h-XI2QSiE1nTr_WqVWA)
| 32 | 第 1 組 / Claire | [HackMD](https://hackmd.io/sUX7rWRXTy-J_gd9lFl5gw)
| 33 | 第 11 組 / Han Lai | [Codepen](https://codepen.io/x94han/pen/qBpgeoo)
| 34 | 第 15 組 / CHIU | [HackMD](https://hackmd.io/NjIKmnHWTtG3BwWU5bbZmA)
| 35 | 第 9 組 / 黃士桓 | [HackMD](https://hackmd.io/iEDPiHToS7iLBU2E91HQ8g)
| 36 | 第 2 組 / Rikkubook | [HackMD](https://hackmd.io/ZPwTzbeDSdufMrw5k6xqDw)
| 38 | 第 1 組 / Ed Huang | [HackMD](https://hackmd.io/CIBZjpCGQwewc1nI9dXUpA?view)
| 39 | nick6303 | [HackMD](https://hackmd.io/AYWySlYZQYCpCkrOC_piXA)
| 40 | 第 1 組 / Jerry Huang | [codepen](https://codepen.io/sun31483/pen/ZEvZKRv?editors=1010)
| 41 |yolala | [HackMD](https://hackmd.io/hkY7RFLeRCWX1XyO_gpqnA)
| 42 | 第 7 組 / jason06286 | [HackMD](https://hackmd.io/K0kYbX2NQFWM6QfTVbV-hQ)
| 43 | 第 10 組 / 橘子 | [HackMD](https://hackmd.io/yCLUjkZaQRmLkXMT1hNkuA)
| 44 | 第 5 組 / AmberCYT | [HackMD](https://hackmd.io/@amber871023/HkzRYKzB5/%2FmSRTKxtUQf2WeFEkvtDG7w)
| 45 | 第 11 組 / mandy | [HackMD](https://hackmd.io/-0fTtN4aTsmypBeDukIBUg?both)
| 46 | 第 16 組 / 皓皓 | [HackMD](https://hackmd.io/@cutecat8110/HJ4kecmBq)
| 47 | 第 1 組 / Phoebe | [HackMD](https://hackmd.io/@Phoebe26/BJyRdqXHc)
| 48 | 第 8 組 / Jordan Tseng | [HackMD](https://hackmd.io/IkH5cWXGSYC3noVHJkFf8w)|
| 49 | 第 10 組 / Otis | [HackMD](https://hackmd.io/yioAQGlRRhO3N24WJ-eY_g?view)|
| 50 | 第 1 組 / Emily Hsi | [HackMD](https://hackmd.io/@EmilyHsi/SkzYb7aB5)|
| 51 | 第 10 組 / Butters | [HackMD](https://hackmd.io/BCiNdNDaQLO61ztMvM72EQ?view)|