You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NextJS中GetServerSideProps内MongoDB查询投影报错求助

解决MongoDB findOne在GetServerSideProps中的类型错误

问题出在findOne的第二个参数格式不符合TypeScript的类型要求。在MongoDB的TypeScript驱动中,查询选项(包括投影字段)需要放在projection属性下,不能直接传递字段对象。

修改后的代码

const client = await clientPromise;
const db = client.db("?retryWrites=true&w=majority");
const user = await db.collection("Users").findOne({email: params[0]}, { projection: { username: 1 } })

原因说明

你的API端点能正常运行,大概率是因为API代码未启用严格TypeScript类型检查,或是直接使用了JavaScript(无类型校验)。而Next.js的GetServerSideProps中,TypeScript会严格校验findOne的参数类型,要求第二个参数必须符合FindOptions<Document>类型规范,投影字段必须嵌套在projection属性内。

内容的提问来源于stack exchange,提问作者Parzival

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 16:00:16