【问题标题】:why I got this type error not a constructor for javascipt?为什么我得到这个类型错误不是javascript的构造函数?
【发布时间】:2022-01-11 15:09:31
【问题描述】:

我正在尝试创建一个新产品。为了测试结果是否发送到我的 mongodb,我在 postman 中输入了值。但是,我对这个错误感到困惑。

这是我的产品文件

const mongoose = require("mongoose");


const ProductSchema = new mongoose.Schema(
    {
    title: {type:String , required:true , unique:true},
    description: {type:String , required:true},
    img: {type:String , required:true },
    categories: {type: Array , required:true },
    size: {type:Array},
    color: {type:Array},
    price: {type: Number , required:true },
    inStock:{type:Boolean , default:true},

},
{ timestamps: true }
);

module.export = mongoose.model("Product" , ProductSchema);

这是我的邮政编码

const router = require("express").Router();
const Product = require("../model/Product")
 //Create new product(testing in postman)
router.post("/", async (req,res)=>{
const newProduct = new Product(req.body);

try{
    const savedProduct = await newProduct.save();
    res.status(200).json(savedProduct);
}catch(error){
    res.status(500).json(error)
}
})

我在邮递员中发送值后,总是遇到这个错误。

TypeError: Product is not a constructor

【问题讨论】:

  • require("../model/Product") 返回的不是构造函数。由于您没有提供minimal reproducible example,因此我们无法知道那是什么。
  • 取决于 ../model/Product 中的内容,显然不是 Mongoose 模型
  • 哎呀,我现在要编辑了
  • 试试module.exports = mongoose.model("Product" , ProductSchema);

标签: javascript mongodb constructor postman


【解决方案1】:

你正在使用

module.export = mongoose.model("Product" , ProductSchema);

应该是

module.exports = mongoose.model("Product" , ProductSchema);

【讨论】:

  • 非常感谢
猜你喜欢
  • 1970-01-01
  • 2013-09-26
  • 2020-01-29
  • 1970-01-01
  • 2014-02-05
  • 2010-11-22
  • 1970-01-01
  • 1970-01-01
  • 2016-11-25
相关资源
最近更新 更多