我的目標只是回傳屬於該用戶的投訴。
我在 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({})...當我詢問所有投訴時一樣。
這裡有更多資訊:
有什麼想法嗎?
但是郵差說沒問題。
Lanxion 在 Discord 上指出,我沒有解構回應中的數據,因此在標頭中獲取了其他內容,例如選項。
const {資料} = axios...