【发布时间】: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