在 getStaticProps 函数中序列化 Next.js 时出错?

Pen*_*gin 6 javascript mongodb reactjs next.js

我正在使用getStaticProps()函数,但我无缘无故地收到此错误:

错误:.posts[0]getStaticProps“/”中返回的序列化错误。原因:object("[object Object]") 不能序列化为 JSON。请仅返回 JSON 可序列化数据类型。

我也在使用 mongoDb 数据库,该connectDb()函数运行该mongoose.connect()函数并连接到数据库。另外,console.log()s 返回有效的 JSON 格式数据,我不知道是什么导致了这个问题,这是我的代码:

export const getStaticProps: GetStaticProps = async (
  context: GetStaticPropsContext
) => {
  await connectDb()
  const count = await PostModel.countDocuments()
  const posts = await PostModel.find()
  console.log(posts)
  console.log(count)
  return {
    props: { posts: posts, count: count },
    revalidate: 10,
  }
}
Run Code Online (Sandbox Code Playgroud)

Moh*_*ony 2

使用lean它将转换为纯JavaScript对象。

const posts = await PostModel.find().lean();
Run Code Online (Sandbox Code Playgroud)

或者您可以尝试通过.toJSON进行序列化