0
當我試圖填充,這個錯誤來了: 「MissingSchemaError:架構尚未註冊模式」架構尚未註冊的錯誤人口
我的模型: /模型/課程。 JS
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var User = require('./user')
var courseSchema = Schema({
courseName:String,
price:Number,
type:String,
_offeredBy:{type:Schema.Types.ObjectId,ref:User}
});
module.exports = mongoose.model("Course",courseSchem
型號/ user.js的
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var bcrypt = require('bcrypt-nodejs');
var findOrCreate = require('mongoose-findorcreate')
var Course = require('./course')
var userSchema = Schema({
email:{type:String},
password:{type:String},
courseOffered:[{type:Schema.Types.ObjectId,ref:Course}]
});
module.exports = mongoose.model('User',userSchema);
路線/ index.js
var Course = require('../models/course');
var User = require('../models/user');
var express = require('express');
var router = express.Router();
router.get('/user/profile',isLoggedIn,function(req,res,next){
res.render('user/profile',{csrfToken:req.csrfToken(),message:""})
});
router.post('/user/profile',isLoggedIn,function(req,res,next){
var courseInfo = req.body;
var newCourse = new Course();
newCourse.courseName = courseInfo.coursename;
newCourse.price = courseInfo.price;
newCourse.type = courseInfo.type;
newCourse._offeredBy = req.user;
newCourse.save(function(err,result){
if(err){
res.redirect('/user/profile');
}
});
Course
.findOne({courseName:courseInfo.coursename})
.populate('_offeredBy')
.exec(function(err,course){
if(err){
res.redirect('/user/profile');
}
});
});
課程正在保存在數據庫中,但錯誤是由於兜售而出現的。我不寫app.js,mongodb連接是在app.js文件中進行的。
這就是你的實際代碼的樣子? 'module.exports = mongoose.model(「Course」,courseSchem'。你發佈的代碼缺少一些東西,但考慮到錯誤,至少在實際代碼中可能有拼寫錯誤 –
不,這是發佈時的錯誤, module.exports = mongoose.model(「課程」,courseSchema); –
請更正你的問題張貼並再次檢查了命名的錯誤建議你實際上有一個架構名稱拼寫錯誤。因此它沒有註冊。 –