Mongoose populate return [Object] instead of actual data of the field


The availability array from the parking model. I am querying the booking model which has parking Id.

Following is the query:

let startTime = await Booking.findOne(
      { bookingId: },
      { startTime: 1, _id: 0 }
      path: "parkingId",
      select: ["availability"],

It gives the following result:

  parkingId: {
    _id: new ObjectId("62e11ab3079daa939290fa07"),
    availability: [ [Object], [Object], [Object], [Object], [Object], [Object] ]
  startTime: 2022-07-26T09:30:00.000Z

I want to populate the availability’s endTime field. how can I do that?
See, it is an array of Objects.

The availability array example:

      "day": "Monday",
      "startTime": "09:00",
      "endTime": "17:00",
    }... //Other days


I just found the solution which is as following:

bookingData = await Booking.findOne(
      { startTime: 1, _id: 0 }

    let parkingAvailability = bookingData.parkingId.availability;

Now parkingAvailability stores the availability.

Answered By – Talc

This Answer collected from stackoverflow, is licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0

Leave a Reply

(*) Required, Your email will not be published