use*_*306 1 mongoose mongodb node.js
我想定义我自己的静态/方法来保存我的模型的文档.
我试过这个:
userSchema.statics.saveUser = function(data, callback){
data.save(callback);
};
Run Code Online (Sandbox Code Playgroud)
它说data.save()不是一个函数.它无法识别该功能.
然后我试了这个
userSchema.statics.saveUser = function(data, callback){
data = new userSchema(data);
data.save(callback);
};
Run Code Online (Sandbox Code Playgroud)
userSchema不是一个函数.
方法和静力学是不一样的.前者在文档(模型实例)上找到,而后者在模型上找到.如果上述内容旨在用作静态,创建用户或其他内容,您将:
userModel.saveUser();
Run Code Online (Sandbox Code Playgroud)
但是,由于你没有传递任何数据,我真的没有看到会有什么好处.如果您将其创建为方法,它将如下所示:
userSchema.methods.saveUser = function(callback){
user.save(callback);
};
Run Code Online (Sandbox Code Playgroud)
你会称之为:
var doc = new userModel();
// Set stuff
doc.saveUser();
Run Code Online (Sandbox Code Playgroud)
在不知道你真正想做什么的情况下,很难说哪种方式更适合你的情况.
| 归档时间: |
|
| 查看次数: |
3156 次 |
| 最近记录: |