๊ฐ๋จํ CRUD ์ค์ต ์ค ๋ฐ์ํ ์๋ฌ
TypeError: The comparison function must be either a function or undefined: #<Object>
at Array.sort (<anonymous>)
at C:\Users\user\Desktop\dev\CRUD-1\app.js:16:42
at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
์ธํฐ๋ท์์๋ ๋ช ํํ๊ฒ ์ ์๋์ค๊ธธ๋ GPTํํ ๋ฌผ์ด๋ดค๋ค.
๋ฌธ์ ์๋ ์ฝ๋
app.get('/diaries',async (req, res) => {
const diaries = await Diary.find().sort({date: -1});
res.render('diaries',{diaries}); //ejs ํ
ํ๋ฆฟ์ผ๋ก ๋๊น
})
.sort({date: -1}); ์ด๋ถ๋ถ์ด ๋ฌธ์ ์ธ๊ฐ? ํ๋๋ฐ
๐ ์ ํ๋ ธ๋ ๊ฑธ๊น?
(await Diary.find()) โ ์ด๊ฑด ๋ฐฐ์ด์ด ๋จ
.sort({ date: -1 }) โ ์๋ฐ์คํฌ๋ฆฝํธ ๋ฐฐ์ด .sort()๋ ๋น๊ต ํจ์๋ฅผ ์๊ตฌํจ
{ date: -1 }๋ MongoDB ์ฟผ๋ฆฌ ํ์์ด์ง ๋น๊ต ํจ์๊ฐ ์๋์ผ!
๊ทธ๋์ TypeError๊ฐ ๋ฌ ๊ฑฐ์ผ ๐
๐ ์ ๋ฆฌ ํ ์ค ์์ฝ
Diary.find().sort({ ... })๋ MongoDB์์ ์ ๋ ฌ
(await Diary.find()).sort(...)๋ JS ๋ฐฐ์ด ์ ๋ ฌ์ด๋ฏ๋ก ๋น๊ต ํจ์๊ฐ ํ์ํจ
๊ณ ์ณ์ฃผ๋ ์ ๋ด๋ค :]
