在我的 app.js 中,我需要我的模型
var User = require('./models/user');
app.post('/user/add', function(req,res,next){
var newUser = new User();
newUser.add(req.body.name, function(response){
res.json(response);
})
});
我的模型 (user.js) 看起来像这样
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var userSchema = new Schema({
name: String
});
var User = module.exports = mongoose.model('user', userSchema);
module.exports.add = function(name,callback){
User.save({name:name}).exec(callback);
}
但是我得到了 newUser.add is not a function 的错误?
最佳答案
如果你想给 Mongoose 模型添加实例方法,你应该使用instance methods语法:
var mongoose = require('mongoose');
var UserSchema = new mongoose.Schema({
name: String
});
// Instance methods
UserSchema.methods.add = function(name, callback){
this.name = name;
return this.save(callback);
}
module.exports = mongoose.model('User', UserSchema);
关于javascript - Mongoose save() 不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40787968/