一尘不染

Mongoose -exec函数有什么作用?

javascript

我遇到了一段Mongoose代码,其中包括查询findOne和一个exec()函数。

我以前从未在Javascript中看到过该方法吗?它到底是做什么的?


阅读 1098

收藏
2020-05-01

共1个答案

一尘不染

基本上,当使用猫鼬时,可以使用助手来检索文档。每个接受查询条件的模型方法都可以通过callbackexec方法执行。

callback

User.findOne({ name: 'daniel' }, function (err, user) {
  //
});

exec

User
  .findOne({ name: 'daniel' })
  .exec(function (err, user) {
      //
  });

因此,当您不传递回调时,可以构建查询并最终执行它。

您可以在 “Mongoose文档”找到其他信息。

更新

将Promises与Mongoose异步操作结合使用时,需要注意的一点是Mongoose查询不是 Promises。查询的确会返回 thenable,但是如果您需要一个 真正的Promise,则应使用该exec方法。

在更新期间,我注意到我没有明确回答以下问题:

我以前从未在Javascript中看到过该方法吗?它到底是做什么的?

嗯,这 不是 本机JavaScript方法,而是Mongoose API的一部分。

2020-05-01