Model.populate() 是不是返回一个承诺?

Posted

技术标签:

【中文标题】Model.populate() 是不是返回一个承诺?【英文标题】:Does Model.populate() return a promise?Model.populate() 是否返回一个承诺? 【发布时间】:2021-02-22 16:06:02 【问题描述】:

我正在关注关于 Node.js 和 Mongoose 的指南。为电子商务商店开发一些代码。我有两个代码 sn-ps,都在模型上使用 populate() 但是一个代码 sn-p 需要 execPopulate() 来返回一个承诺,而另一个不需要。我已尝试删除 execPopulate 并将其添加到其他方法,但两者都出现错误。

欢迎和赞赏任何解释。谢谢!

【问题讨论】:

【参考方案1】:

Populate() 返回«Query» this 见here 并根据猫鼬docs 再次Query 不是承诺。

Mongoose 查询不是承诺。为了方便起见,它们有一个用于 co 和 async/await 的 .then() 函数。但是,与 promise 不同的是,调用查询的 .then() 可以多次执行查询。

因此,如果您想使用填充作为承诺,请使用 execPopulate()

【讨论】:

以上是关于Model.populate() 是不是返回一个承诺?的主要内容,如果未能解决你的问题,请参考以下文章

私有成员是不是在 C# 中继承?

ES5和ES6中继承的不同之处

在 C# 中继承泛型

odoo中继承视图extention和primary的区别

js中继承

如何在 Maven POM 中继承构建链?