我正在使用 MEAN 堆栈并尝试使用 Mongoose 将数据保存到我的 MongoDB 数据库。但是,我不断收到错误 “电影不是我的模型的构造者”。但这就是 Mongoose 文档的显示方式,所以我不确定我做错了什么..
请帮忙!
Movie.js
let mongoose = require('mongoose');
let MovieSchema = new mongoose.Schema({
title: String,
genre: String
});
export let Movie = mongoose.model("Movie", MovieSchema);
route.js
import express = require('express');
import mongoose = require('mongoose');
let Movie = require('../models/Movie');
let router = express.Router();
router.post('/movies', function(req, res, next) {
let new_movie = new Movie(req.body);
new_movie.save(function(err, movie) {
if(err) return next(err);
res.send(movie);
});
});
最佳答案
当您忘记从模型文件中导出模型或以错误的方式导出时,就会出现此问题。你的模型应该像这样导出:
let Movie = mongoose.model("Movie", MovieSchema);
module.exports=Movie;
或者用简写形式,您可以简单地写:
module.exports=mongoose.model('Movie',MovieSchema);
关于node.js - 电影不是构造函数 - Mongoose,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38807593/