mongoose model.save () метод не определен.
models / genre.js
'use strict';
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const GenreSchema = new Schema({
name: {type: String, required: true}
});
GenreSchema
.virtual('url')
.get(function () {
return '/catalog/genre/' + this._id;
});
module.exports = mongoose.model('Genre', GenreSchema);
controllers / genreController.js
'use strict';
var Genre = require('../models/genre');
module.exports = {
genre_get: function (req, res) {
res.render('catalog/createGenre');
},
genre_post: function (req, res) {
var genre = new Genre(
{ name: req.body.name }
);
genre.save(function (err) {
if (err) { return err; }
res.redirect('catalog/genre/list');
});
}
};
Ошибка
Я попытался выполнить некоторые работы в реактивных мозгах:
после них они говорят в контроллере:
var Genre = require('../models/genre.js').Genre;
это решило проблему и решило функцию, но позже возникла ошибка, сообщающая Genre is not a constructor
при отправке почтового запроса в:
`var genre = new Genre(
{ name: req.body.name }
);`
Решено: Это просто решило проблему
var genre = mongoose.model('Genre', GenreSchema);
module.exports = genre;