我遇到了一段Mongoose代码,其中包括查询findOne和一个exec()函数。
我以前从未在Javascript中看到过该方法吗?它到底是做什么的?
基本上,当使用猫鼬时,可以使用助手来检索文档。每个接受查询条件的模型方法都可以通过callback或exec方法执行。
callback
exec
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方法,而是Mongoose API的一部分。