问题描述
我有 React、MaterialUI、NextJS 和 Mongoose 的项目。
所以问题是在我部署在 vercel 上的站点上获取的数组数据的值是重复的,但在 localhost 上它获取了正确数量的数据。
如上图所示,我的 mongoDB 中有 15 个 configField。在 localhost 上获取时,它获取 15。但在部署的 vercel 站点上,它获取 30。productFields 相同。数据库中只有 57 个,但提取的数据返回 151 个。
本地主机上和部署的两个数据库都是同步的并且具有相同的数据。任何人都可以请帮助或知道为什么会发生这种情况?
case 'GET':
try {
let data = await settings.findOne({})
if (!data) {
data = await settings.create({
configFields: [],productFields: [],})
}
res.status(200).json({ data })
} catch (error) {
res.status(400)
}
break
仅供参考,前端没有问题。没有任何东西被映射两次。问题在于获取的数据,因为我也在 Postman 上进行了测试,确实收到了 30 个 configFields 而不是正确的 15 个。但为了您的保证,这是我使用 NextJS 的内置同构取消获取的 fetch 语句:
const res = await fetch(`${appUrl}/api/settings`)
const { data: fields } = await res.json()
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)