mongodb exec()方法在这里做什么?

laawzig2  于 2022-12-22  发布在  Go
关注(0)|答案(1)|浏览(347)

创建新用户时,我将首先通过以下方式检查重复用户:

const duplicate = await User.findOne({ username }).lean().exec();

我很困惑为什么我正在做的编码教程附加了exec方法。从我所读到的,它检查字符串中的匹配项,并将返回数组中的任何匹配项。因此,在post请求中,id获取用户名findOne(我相信)将已经匹配req.body.username到我的用户模式/DB内的用户名,因此,我不明白为什么运行教程的人还添加了.exec方法。我敢肯定有什么东西从我头上飞过。
尝试在exec方法上阅读mdn文档

y53ybaqx

y53ybaqx1#

在这行代码中:
Model.findOne创建并返回一个query对象,可以进一步操作该对象。
lean方法修改该查询,并返回修改后的对象。
exec方法异步执行查询并返回一个promise。
await等待承诺解析,并返回最终值,然后将该值赋给duplicate变量。

相关问题