Array.push() 不适用于 Mongoose Populate

问题描述 投票:0回答:0

我读了另一篇关于这个问题的帖子,但我无法弄清楚如何将它应用到我的情况(node js Array.push() not working using mongoose

这是我的 Mongoose 异步填充函数,我想要做的是将一个值推送到最终数组,其中包括我稍后将对其进行处理的每条评论。但是 .push() 不起作用,我总是得到一个空数组;根据我的阅读,它与同步的 for 循环有关并且无法接受异步值,但我不确定如何修复它

  //Empty array will be populated with all scores
  const allReviewsRating = []
  this.populate("reviews").then(async function (allReviews) {
    for (const review of allReviews.reviews) {
      allReviewsRating.push(review.rating)

    }
    // async.map(review, allReviews.reviews)

  })

但即使我做这样的事情

  const allReviewsRating = []
  this.populate("reviews").then(async function (allReviews) {
    allReviewsRating.push(`1`)
    for (const review of allReviews.reviews) {
      allReviewsRating.push(review.rating)

    }
    // async.map(review, allReviews.reviews)

  })

最后的数组是空的,这让我更加困惑

我想知道我需要做什么才能使我的数组不为空,并且实际上具有我希望它具有的值

javascript node.js arrays asynchronous mongoose
© www.soinside.com 2019 - 2024. All rights reserved.