node.js - Model.populate() 是否返回一个承诺?
问题描述
我正在关注 Node.js 和 Mongoose 的指南。为电子商务商店开发一些代码。我有两个代码片段,都在模型上使用 populate() 但是一个代码片段需要 execPopulate() 来返回一个承诺,而另一个不需要。我曾尝试删除 execPopulate 并将其添加到另一种方法中,但两者都出现错误。
欢迎和赞赏任何解释。谢谢!
解决方案
Populate()
返回«Query» this
看到这里和根据猫鼬文档再次Query
不是一个承诺。
Mongoose 查询不是承诺。为了方便起见,它们有一个用于 co 和 async/await 的 .then() 函数。但是,与 promise 不同,调用查询的 .then() 可以多次执行查询。
因此,如果您想使用 populate 作为承诺,请使用execPopulate()
推荐阅读
- c++ - 由于 Ubuntu 18.04 上的 libicu 链接错误,无法静态链接 boost-locale
- java - Spring Security:外部认证和内部认证
- properties - 当小部件属性变得不可见时,重置或清除所有选择的小部件属性
- azure - Azure - Cosmos DB 与 API 应用程序的集成
- python - D-Bus - 调用远程过程时遇到“ServiceUnknown”异常
- python - 如何在其他函数(其他摆线)的曲线上绘制摆线?
- mysql - Laravel MySQL 到 SQL Server
- machine-learning - Google Cloud Vision 仅检测一种语言
- html - 4块文字合二为一
- node.js - stripe.invoices.sendinvoice 不是一个函数 - Stripe Billing (NodeJS)