Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

418
Views
Creating a GET request that displays all reviews based on the item value of what they reviewed

I am currently working on making a GET request on my backend that maps out all reviews based on the item number attached to the review. I've made a few dummy reviews that share the same item number (but have different _id values) and am trying to figure out how to create this GET request.

I can get all reviews to map out in general but not by item number

My current code block is this and I'm getting the error

TypeError: Cannot read properties of undefined (reading 'get')

router.get("/:id", async (req, res) => {
  const populateQuery = [
    {
      path: "user",
      select: ["username"],
    },
    {
      path: "reviews",
      select: ["item"],
      populate: { path: "user", select: ["username"] },
    },
  ]
  const reviews = await Review.find({})
  response.json(reviews.map((review) => review.toJSON()))
})

An example review would be:

_id:615323ee97dc7d1960350e33

text:"This could've been worse but I'm glad they actually tried this time"

item:168


_id:615b95dfd6a4fc3814139ad4

text:"Delete this review and this game"

item:168


_id:615b968e9dafdbead0de3fde

text:"Witcher is amazing"

item:4062

Basically, I want the function to show the ones with item:168 mapped out and separate from the Witcher review.

My model schema for reviews is this

import mongoose from "mongoose"
const { ObjectId } = mongoose.Schema.Types

const reviewSchema = new mongoose.Schema(
  {
    text: {
      type: String,
      required: true,
      maxlength: 500,
    },
    author: {
      type: ObjectId,
      ref: "User",
    },
    created: {
      type: Date,
      default: Date.now,
    },
    item: {
      type: Number,
      required: true,
    }
  },
  { timestamps: true }
)

const Review = mongoose.model("Review", reviewSchema)

export default Review

about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!