我正在遵循有关Node.js和Mongoose的指南。为电子商务商店开发一些代码。我有两个代码片段,都在模型上使用populate(),但是一个代码片段需要execPopulate()返回一个promise,而另一个则不需要。我曾尝试删除execPopulate并将其添加到其他方法中,但两者均出现错误。
任何解释都值得欢迎和赞赏。谢谢!
答案 0 :(得分:0)
Populate()
返回«Query» this
参见here,根据猫鼬docs的说法,Query
并不是一个承诺。
猫鼬查询不是承诺。为了方便起见,它们具有用于co和async / await的.then()函数。但是,与承诺不同,调用查询的.then()可以多次执行查询。
因此,如果您要将填充用作承诺,请使用execPopulate()