Nodejs包括模型
问题描述:
我有问题,使我的server.js使用我的模型。Nodejs包括模型
我确实有其他机型相同的结构,例如像:
var Post = mongoose.model('Post');
var Comment = mongoose.model('Comment');
,但他们工作得很好..莫名其妙。
但是,如果,如果我尝试使用:
var Crime = mongoose.model('Crime');
我得到:
throw new mongoose.Error.MissingSchemaError(name);
^
MissingSchemaError: Schema hasn't been registered for model "Crime".
如果我切换到:
var Crime = require('./models/Crime');
或
var Crime = require('./models/Crime.js');
我得到的回应:
Cannot find module './models/Crime'
犯罪型号代码:
var mongoose = require('mongoose');
var CrimeSchema = new mongoose.Schema({
username: {type: String, lowercase: true, unique: true},
time: String,
salt: String
});
CrimeSchema.methods.performCrime = function(pass) {
/*var deferred = $q.defer();
deferred.notify('loading....');
deferred.reject('Greeting is not allowed.');
return deferred.promise;
*/
return 22;
};
mongoose.model('Crime', CrimeSchema);
编辑
例如工作模式:
var Post = mongoose.model('Post');
和post.js模型
var mongoose = require('mongoose');
var PostSchema = new mongoose.Schema({
title: String,
link: String,
upvotes: {type: Number, default: 0},
comments: [{ type: mongoose.Schema.Types.ObjectId, ref: 'Comment' }]
});
PostSchema.methods.upvote = function(cb) {
this.upvotes += 1;
this.save(cb);
};
PostSchema.methods.downvote = function (cb) {
this.upvotes -= 1;
this.save(cb);
};
mongoose.model('Post', PostSchema);
答
您忘了在最后输出模块。
var Crime = mongoose.model('Crime', CrimeSchema);
module.exports = Crime;
文件结束或其中o – maria
文件结束是。替换此代码'mongoose.model('Crime',CrimeSchema);'我的回答 – John
我替换它,并且它得到了同样的错误。 – maria