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

标签 javascript reactjs mongodb next.js

我正在使用 getStaticProps()功能,我无缘无故地收到此错误:

Error: Error serializing .posts[0] returned from getStaticProps in "/". Reason: object ("[object Object]") cannot be serialized as JSON. Please only return JSON serializable data types.


我也在使用 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,
  }
}

最佳答案

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

const posts = await PostModel.find().lean();
或者您可以通过 .toJSON 尝试序列化

关于javascript - 在 getStaticProps 函数中序列化 Next.js 时出错?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66760225/

相关文章:

javascript - 使用 escapeParameters sanitizer 插值参数时出现 Angular 翻译问题

javascript - Canvas 的 fps 无意中加快了速度?

javascript - SharePoint - 带有用户名和密码的 URL 链接

javascript - 在 Flux 架构中,你如何管理 Store 生命周期?

javascript - this.state 在函数 React JS 组件中使用时未定义

javascript - 如何从基于 JSON 输入创建的数组中获取值?

javascript - Formik 和 Material-UI

MongoDB 匹配索引与无索引 - 聚合

node.js - 无架构驱动程序选项?

mongodb - 如何在 MongoDB 中查询子子文档?