---
# System prepended metadata

title: 檢核點 - 第四週
tags: [Node.js 直播班]

---

---
tags: Node.js 直播班
---

# 檢核點 - 第四週


**重點觀念：**

Express
populate 
query 篩選

**回覆參考：**
```
...
```
---

建議：

* 新增貼文可以判斷有沒有這個使用者，如果傳入不存在的 User ObjectId ，也會新增成功，但前端畫面會跑不出來
```
Jay：新增貼文是在使用者登入的情況下
因此已登入代表已經拿得到對應的使用者 ID，有對應的 ID 前端送資料也要綁這個 ID
那麼會傳入不存在 ObjectId 的原因是？前端故意傳不存在的 ObjectId 嗎
```
```
補充一下上方這點建議，若是以第六週的做法來看，做使用者登入，通過 token 驗證後再新增貼文，就不會由前端傳入 id，因此可以不需判斷使用者是否存在，以後續作業來看此建議就可以不需提
不過若第四週是以固定的使用者 id 的做法，是可以搜尋一下使用者是否存在
因此助教們是否提這個建議都 ok
```

補充：
如果要確保使用者的存在的話，可以先 findById 拉出使用者 ID 再去依據該使用者 ID 找到後再去 created

可以參考[文件](https://mongoosejs.com/docs/api/model.html#model_Model.findById)的做法

-   Adventure.findById(id).exec(); 如果找不到就是 null
-   或者用 callback Adventure.findById(id, function (err, adventure) {}); 如果找到就做特定事情



<small>批改時若遇到問題或常見錯誤歡迎助教們新增上來</small>