Isa*_* G. 5 mongoose mongodb node.js express mongoose-schema
我正在使用 MEAN 堆栈并尝试使用 Mongoose 将数据保存到我的 MongoDB 数据库中。但是,我的模型不断收到错误“电影不是构造函数”。但这就是猫鼬文档的显示方式,所以我不确定我做错了什么..
请帮忙!
电影.js
let mongoose = require('mongoose');
let MovieSchema = new mongoose.Schema({
title: String,
genre: String
});
export let Movie = mongoose.model("Movie", MovieSchema);
Run Code Online (Sandbox Code Playgroud)
路由.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);
});
});
Run Code Online (Sandbox Code Playgroud)
小智 5
当您忘记从模型文件导出模型或以错误的方式导出时,就会出现此问题。你的模型应该像这样导出:
let Movie = mongoose.model("Movie", MovieSchema);
module.exports=Movie;
Run Code Online (Sandbox Code Playgroud)
或者用简写形式,您可以简单地写:
module.exports=mongoose.model('Movie',MovieSchema);
Run Code Online (Sandbox Code Playgroud)
小智 -2
在 require 路径中使用整个文件名。所以Movie.js 而不是Movie。因为你指向一个文件,而不是一个node_module。
let Movie = require('../models/Movie.js')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4465 次 |
| 最近记录: |