无法从 Mongoose 模型中获取文档“find”承诺

Posted

技术标签:

【中文标题】无法从 Mongoose 模型中获取文档“find”承诺【英文标题】:Cannot get document `find` promises from Mongoose model 【发布时间】:2021-10-23 06:55:09 【问题描述】:

我有一个User 模型和一个Product 模型。 User 将 objectIds 数组存储到 Products 作为引用。在User 成员函数中,我试图查找用户订购的所有产品,我在下面使用此函数,但是,执行不会超出我评论的位置。

// Get each productObjectId, and get Promises that will resolve to productDocs
var getProductDocs Promises = [] // Store promises here
// 'productsTracking' is an array in `User`
this.productsTracking.forEach((productObjectId) => 
   getProductDocsPromises.push(Product.findById(productObjectId).exec()) // Execution halts here, and raises a blank error
)        

我做错了什么?

【问题讨论】:

【参考方案1】:

使用这个

// Get each productObjectId, and get Promises that will resolve to productDocs
var getProductDocs Promises = [] // Store promises here
// 'productsTracking' is an array in `User`
this.productsTracking.forEach((productObjectId) => 
   getProductDocsPromises.push(Product.findById(productObjectId)) // Execution halts here, and raises a blank error
)     
Promise.all(getProductDocsPromises)
.then()
.catch()

【讨论】:

以上是关于无法从 Mongoose 模型中获取文档“find”承诺的主要内容,如果未能解决你的问题,请参考以下文章

Mongoose 在架构级别排除文档结果

find(...).populate 不是 mongoose 中的函数

从文档中获取信息

Mongoose:如何从 find() 批量更新修改后的数据

是否可以从猫鼬的文档中获取模型?

使用 Typescript 从 Mongoose 模型访问文档属性