findById 和 load 之间的区别?

Differences betwen findById and load?

FindById(id,callBack)Load(id,callback) 之间的主要区别是什么?

更多详情:

我是 MEAN 堆栈 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();
});

它有效,但我想知道它们之间的主要区别,奇怪的是我在 mongoose 文档上找不到任何文档。

load 是 Article 模型的静态方法,它做的事情和 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);
};