Rumah  >  Soal Jawab  >  teks badan

"Array.push() tidak berfungsi dengan betul apabila Mongoose Populasi"

Saya membaca catatan lain tentang isu ini tetapi saya tidak dapat memikirkan cara untuk menerapkannya pada situasi saya (nod ​​js Array.push() tidak berfungsi apabila menggunakan mongoose)

Ini ialah fungsi Mongoose async populate saya, apa yang saya mahu lakukan ialah menolak nilai ke dalam tatasusunan akhir yang mengandungi setiap ulasan, yang akan saya lakukan sesuatu nanti. Walau bagaimanapun, .push() tidak berfungsi, saya sentiasa mendapat tatasusunan kosong daripada apa yang saya baca, ini ada kaitan dengan gelung for menjadi segerak dan tidak dapat menerima nilai async, tetapi saya tidak pasti; bagaimana untuk memperbaikinya

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

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

})

Tapi walaupun saya buat macam ni

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)

})

Tatasusunan akhir kosong, yang membuatkan saya lebih keliru

Saya ingin tahu apa yang perlu saya lakukan supaya array saya tidak kosong dan sebenarnya mempunyai nilai yang saya mahukan

P粉464113078P粉464113078407 hari yang lalu471

membalas semua(1)saya akan balas

  • P粉289775043

    P粉2897750432023-09-09 00:07:44

    Saya rasa anda perlu menyemak, this.populate()函数没有填充reviews,如果它填充了,那么问题可能出在allReviews.reviews, bahawa tiada ulasan di antara semua komen. Semua fungsi lain adalah normal. Saya mengujinya pada sistem saya.

    balas
    0
  • Batalbalas