如何在架构中定义的静态方法之一中创建新对象?
我基本上有
UserSchema.statics.createUser = function (username, password, cb) { .. }
我希望能够在函数中保存用户对象的新实例。我希望在该方法中执行var user = new User(...)
之类的操作,但它当然不起作用,因为尚未创建用户模型。
我该怎么办?
答案 0 :(得分:13)
当您第一次调用静态函数时,此绑定到架构的模型。你可以这样做:
var newUser = new this({
username: username,
password: password,
});
newUser.save(cb);
请注意,如果您将静态功能创建为匿名胖箭头功能,此将无法正确设置。