從 MongoDb 集合中選擇文件回傳回應時出現不可序列化錯誤。 React 和 NodeJS
P粉818088880
P粉818088880 2023-09-16 18:20:04
0
1
590

我的目標只是回傳屬於該用戶的投訴。

我在 MongoDB 中有兩個集合。用戶和投訴。一名用戶有一項投訴,另一名用戶有兩項投訴。

我正在使用 Redux 建立初始狀態為 userComplaints: null

對於它的減速器,我寫: onlyUserComplaints: (state, { Payload }) => { state.userComplaints = Payload; localStorage.setItem('userComplaints', JSON.stringify(payload)); } ,

這是該操作的相關程式碼,`const config = { 標題:{ '內容類型':'應用程式/json', }, };

const data = await axios.get(
  `http://localhost:5000/api/complaint/gettingusercomplaints/${userId}`,
  config
);

dispatch(onlyUserComplaints(data))`

我的路線可以在 Postman 中找到,如下:`const getAllUserComplaints = asyncHandler(async (req, res) => { 嘗試 { const userId = req.params.id;

const userComplaints = await Complaint.find({ userId });

res.status(201).json(userComplaints);

} 捕獲(錯誤){ throw new AppError(出現問題, 404); } });`

對於這條路線,我有一個類似的獲取所有投訴,它成功返回了三個投訴。相關程式碼是,constcomplaint=awaitComplaint.find({});

#我嘗試將 find 替換為 findById,但當只想獲取給定用戶的投訴時,在 Postman 中失敗了。

看看實際的錯誤:

所以,這是我不明白的地方。數據在 Postman 中填充得很好。但是,當我 console.log(userComplaints) 返回的資料時,它的類型不是對象,就像我查詢 find({})...當我詢問所有投訴時一樣。

這裡有更多資訊:

有什麼想法嗎?

但是郵差說沒問題。

P粉818088880
P粉818088880

全部回覆(1)
P粉709307865

Lanxion 在 Discord 上指出,我沒有解構回應中的數據,因此在標頭中獲取了其他內容,例如選項。

const {資料} = axios...

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板