"Array.push() does not work properly when Mongoose Populate"
P粉464113078
P粉464113078 2023-09-08 11:50:21
0
1
342

I read another post about this problem but I can't figure out how to apply it to my situation (node ​​js Array.push() not working when using mongoose)

This is my Mongoose async populate function, what I want to do is push a value into a final array containing each comment, which I will do something with later. However, .push() doesn't work, I always get an empty array; from what I've read, this has to do with the for loop being synchronous and not being able to accept asynchronous values, but I'm not sure how to fix it

//空数组将被填充所有分数
const allReviewsRating = []
this.populate("reviews").then(async function (allReviews) {
  for (const review of allReviews.reviews) {
    allReviewsRating.push(review.rating)

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

})

But even if I do something like this

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)

})

The final array is empty, which confuses me even more

I want to know what I need to do so that my array is not empty and actually has the values ​​I want

P粉464113078
P粉464113078

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!