好的,所以我在使用Mongoose的同时获得了以下带有userSchema的代码,我们尝试按如下方式导出它:
module.exports = {
model:mongoose.model('User',userSchema),
getById:function(id,callback){
model.findById(id,callback);
},
getByUsername:function(username,callback){
model.findOne({username:username},callback);
}
}
我想像这样导入....
const user = require('../models/user');
...
let newUser = new user.model({
name:req.body.name,
email:req.body.email,
pasword:req.body.password,
username:req.body.username
});
并且它不起作用主要是因为user.model它返回未定义...现在我知道我可以做类似以下的事情并且工作< / em>
module.exports = model:mongoose.model('User',userSchema);
module.exports.myMethods {
getById:function(id,callback){
model.findById(id,callback);
},
getByUsername:function(username,callback){
model.findOne({username:username},callback);
}
}
,导入时一切正常如下....
const user = require('../models/user');
...
let newUser = new user({
name:req.body.name,
email:req.body.email,
pasword:req.body.password,
username:req.body.username
});
问题是你如何使第一种方法起作用?
答案 0 :(得分:1)
第一种方法应该有效。你确定user.model未定义吗?
你也可以尝试这样的事情:
let user = {};
user.model = mongoose.model('User', userSchema);
user.getById = function(id,callback){
model.findById(id,callback);
}
user.getByUsername = function(username,callback){
model.findOne({username:username},callback);
}
module.exports = user;