主题。我想在它的静态方法中初始化一个新的模型实例:
var Schema = new mongoose.Schema({...});
//...
Schema.statics.createInstance = function (name, pass) {
var newPerson = new Person; // <--- or 'this', or 'Schema'?
newPerson.name = name;
newPerson.pass = pass;
newPerson.save();
return newPerson;
}
// ...
module.exports = db.model("Person", Schema);
我该怎么做?
最佳答案
你走在正确的轨道上; this
是模式在 schema.statics
方法中注册的模型,因此您的代码应更改为:
Schema.statics.createInstance = function (name, pass) {
var newPerson = new this();
newPerson.name = name;
newPerson.pass = pass;
newPerson.save();
return newPerson;
}
Leonid 处理 save
回调是正确的,即使它只是为了记录错误。
关于node.js - 如何在同一模型的模式方法中创建模型实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14018683/