TypeError: The comparison function must be either a function or undefined

Atmosphereยท2025๋…„ 5์›” 18์ผ

js

๋ชฉ๋ก ๋ณด๊ธฐ
1/1

๊ฐ„๋‹จํ•œ 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 ๋ฐฐ์—ด ์ •๋ ฌ์ด๋ฏ€๋กœ ๋น„๊ต ํ•จ์ˆ˜๊ฐ€ ํ•„์š”ํ•จ

๊ณ ์ณ์ฃผ๋‹ˆ ์ž˜ ๋–ด๋‹ค :]

profile
์ž‘๊ฒŒ, ๋น ๋ฅด๊ฒŒ, ์ง€์†๊ฐ€๋Šฅํ•˜๊ฒŒ

0๊ฐœ์˜ ๋Œ“๊ธ€