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

MERN项目启动报Mongoose TypeError: 检索pluralization属性失败求助

错误修复方案

1. 核心报错直接修复

你遇到的TypeError: Cannot use 'in' operator to search for 'pluralization' in undefined错误,根源在image_model.js文件的Model定义逻辑:
mongoose.model方法的第二个参数要求传入Schema实例,你错误传入了字符串'imageSchema',将其改为你定义的Schema变量即可。

  • 原错误代码:
const imageData = mongoose.model('image', 'imageSchema')
  • 修复后代码:
const imageData = mongoose.model('image', imageSchema)

2. 其他需要同步修正的代码问题

(1)路由挂载逻辑错误

index.js中app.use挂载路由时,第一个参数应为接口请求前缀,而非路由文件的本地路径:

  • 原错误代码:
app.use('./routes/image-route.js', router)
  • 修复后示例(前缀可自定义):
app.use('/api/pdf', router)

(2)控制器参数调用错误

image_controller.js的getImage方法存在两处笔误:

  • 调用响应状态方法的对象应为res而非req
  • catch块的异常变量名不统一
  • 原错误代码:
export const getImage = async (req, res) => {
    try {
        const allImages = await imageData.find();
        req.status(200).json(allImages);
        console.log('Successfully submitted');
    } catch (err) {
        res.status(404).json({message: error.message});
    }
}
  • 修复后代码:
export const getImage = async (req, res) => {
    try {
        const allImages = await imageData.find();
        res.status(200).json(allImages);
        console.log('Query successful');
    } catch (error) {
        res.status(404).json({message: error.message});
    }
}

后续PDF预览功能提示

上传PDF时将contentType设置为application/pdf,前端获取到文件Buffer后,可转成Blob URL直接赋值给iframe的src属性即可实现预览。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 18:12:00