【问题标题】:Error serializing Next.js in getStaticProps function?在 getStaticProps 函数中序列化 Next.js 时出错?
【发布时间】:2021-06-19 22:25:55
【问题描述】:

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

错误:序列化从 getStaticProps 返回的 .posts[0] 时出错 “/”。原因: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,
  }
}

【问题讨论】:

    标签: javascript reactjs mongodb next.js


    【解决方案1】:

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

    const posts = await PostModel.find().lean();
    

    或者你可以通过.toJSON尝试序列化

    【讨论】:

      猜你喜欢
      • 2021-06-22
      • 2021-05-12
      • 1970-01-01
      • 2021-08-25
      • 2021-12-25
      • 1970-01-01
      • 2021-08-06
      • 1970-01-01
      相关资源
      最近更新 更多