Matlamat saya hanyalah untuk membalas aduan milik pengguna tersebut.
Saya mempunyai dua koleksi dalam MongoDB. Pengguna dan aduan. Seorang pengguna mempunyai satu aduan dan pengguna lain mempunyai dua aduan.
Saya menggunakan Redux untuk mencipta keadaan awal dengan userComplaints: null
.
Untuk pengurangnya, saya menulis: onlyUserComplaints: (state, { Payload }) => { state.userComplaints = Payload; localStorage.setItem('userComplaints', JSON.stringify(payload)); },
Ini ialah kod yang berkaitan untuk operasi ini, `const config = { tajuk:{ 'jenis kandungan': 'aplikasi/json', }, };
const data = await axios.get( `http://localhost:5000/api/complaint/gettingusercomplaints/${userId}`, config ); dispatch(onlyUserComplaints(data))`
Laluan saya boleh didapati dalam Posmen seperti berikut: `const getAllUserComplaints = asyncHandler(async (req, res) => { cuba { const userId = req.params.id;
const userComplaints = await Complaint.find({ userId }); res.status(201).json(userComplaints);
} tangkapan (ralat){
buang AppError baharu(出现问题
, 404);
}
});`
Untuk laluan ini, saya mempunyai Dapatkan Semua Aduan yang serupa dan ia berjaya mengembalikan tiga aduan. Kod yang berkaitan ialah, constcomplaint=awaitComplaint.find({});
Saya cuba menggantikan find dengan findById tetapi ia gagal dalam Posmen apabila hanya ingin mendapatkan aduan untuk pengguna tertentu.
Lihat ralat sebenar:
Jadi, ini yang saya tidak faham. Data diisi dengan baik dalam Posman. Walau bagaimanapun, apabila saya console.log(userComplaints) data dikembalikan, jenisnya bukan objek, seperti apabila saya bertanya cari({})... apabila saya meminta semua aduan.
Maklumat lanjut di sini:
Ada idea?
Tapi posmen kata tak ada masalah.
Lanxion menunjukkan pada Discord bahawa saya tidak menyahbina data dalam respons, jadi saya mendapat bahan lain dalam pengepala, seperti pilihan.
const {data} = aksios...