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);
};

10-08 07:40