Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么我应该在mongoose上使用静态模式方法?_Javascript_Node.js_Mongodb_Typescript_Mongoose - Fatal编程技术网

Javascript 为什么我应该在mongoose上使用静态模式方法?

Javascript 为什么我应该在mongoose上使用静态模式方法?,javascript,node.js,mongodb,typescript,mongoose,Javascript,Node.js,Mongodb,Typescript,Mongoose,使用这个有什么区别吗: myModelSchema.static("doSomething", (id) => { return new Promise((resolve, reject) => { MyModel.findById(id, (err, myModelDoc) => { if (err) { reject(err); } resolve(myModelDoc); });

使用这个有什么区别吗:

myModelSchema.static("doSomething", (id) => {
    return new Promise((resolve, reject) => {
        MyModel.findById(id, (err, myModelDoc) => {
            if (err) { reject(err); }

            resolve(myModelDoc);
        });
    });
});

const MyModel = mongoose.model("MyModel", myModelSchema);
这是:

const MyModel = mongoose.model("MyModel", myModelSchema);

public static doSomething(id) {
    return new Promise((resolve, reject) => {
        MyModel.findById(id, (err, myModelDoc) => {
            if (err) { reject(err); }

            resolve(myModelDoc);
        });
    });
}
我应该将静态方法附加到模式还是可以在外部执行


谢谢

我觉得将该方法附加到您的模型上很方便。它使MyModel.doSomething(…)的使用变得很容易。如果只是为了方便起见,我想我更喜欢在外部声明方法,这样我的typescript就可以识别它们并简化编码。我只是觉得我可能会失去表现或者在外面做些什么:)。谢谢你的评论。我觉得把这个方法附加到你的模型上很方便。它使MyModel.doSomething(…)的使用变得很容易。如果只是为了方便起见,我想我更喜欢在外部声明方法,这样我的typescript就可以识别它们并简化编码。我只是觉得我可能会失去表现或者在外面做些什么:)。谢谢你的评论。