Next 13 с Mongoose не работает в серверной части
Я только что обновил следующую версию до 13 в проекте, чтобы проверитьapp
реж.
У меня есть функция под названием:
export const getData = async () => {
await dbConnect()
return await DataModel.find()
}
Моя функция — это общая функция, которая использует кешированное соединение, если оно кешировано, или подключается к mongodb, если оно не подключено.
Мой серверный компонент внутриapp/page.tsx
export const page = async () => {
const data = await getData() // <-- Gets stuck here
}
я пытался использоватьdbConnect()
внутри серверного компонента тоже, но возникает та же проблема.
Если я добавлю маршрут API, который запускается и использует мой серверный компонент следующим образом:
const fetchData = async () => {
return await fetch('/api/data')
}
export const page = async () => {
const data = await fetchData() // <-- Works if I call internal API
}
Однако вызов собственного API кажется излишним и может снизить производительность. Я также теряю возвращаемый тип TS изgetData()
функция.