FindById(id,callBack)
和Load(id,callback)
之间的主要区别是什么?
更多细节:
我是新来的意思是堆栈Web开发,所以我只是玩mean.io:
此代码由mean.io(controllers/article.js)生成:
Article.load(id, function(err, article) {
if (err) return next(err);
if (!article) return next(new Error('Failed to load article ' + id));
req.article = article;
next();
});
只是我想用findbyid做同样的结果,它在:Model.findById
Article.findById(id, function (err, article){
if (err) return next(err);
if (!article) return next(new Error('Failed to load article ' + id));
req.article = article;
next();
});
它是有效的,但是我想知道它们之间的主要区别,奇怪的是我找不到任何关于猫鼬的文档。
最佳答案
load
是文章模型的静态方法,它的作用与findOne
完全相同,并且defined in the schema如下所示:
ArticleSchema.statics = {
load: function (id, cb) {
this.findOne({ _id : id }).populate('user').exec(cb);
}
};
其中
findById
方法还调用findOne
方法:Model.findById = function findById (id, fields, options, callback) {
return this.findOne({ _id: id }, fields, options, callback);
};