我遇到了一段 Mongoose 代码,其中包含一个查询 findOne,然后是一个 exec() 函数。
我以前从未在 Javascript 中见过该方法?它具体是做什么的?
最佳答案
基本上,当使用 mongoose 时,可以使用 helpers 检索文档。每个接受查询条件的模型方法都可以通过 callback
或 exec
方法执行。
回调
:
User.findOne({ name: 'daniel' }, function (err, user) {
//
});
执行
:
User
.findOne({ name: 'daniel' })
.exec(function (err, user) {
//
});
因此,当您不传递回调时,您可以构建一个查询并最终执行它。
您可以在 mongoose docs 中找到更多信息.
更新
使用Promises的注意事项结合 Mongoose 异步操作是 Mongoose 查询不是 promise 。查询会返回一个thenable,但如果您需要一个真正的 Promise,您应该使用exec
方法。可以找到更多信息here .
在更新期间我注意到我没有明确回答问题:
Ive never seen that method in Javascript before? What does it do exactly?
嗯,它不是原生 JavaScript 方法,而是 Mongoose API 的一部分。
关于javascript - Mongoose - exec 函数有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31549857/