CastError: сбой приведения к ObjectId для значения 'xxx' по пути "_id" - PullRequest
0 голосов
/ 04 февраля 2020

У меня есть массив в запросе как:

{
"acceptedBookings": [
    {
        "id": "e1f66d7a852986709f665c3",
        "Date": "2020-02-04T05:03:25.332Z"
    }
  ]
}

Я хочу обновить «дату» для каждого «идентификатора». Однако, если я ищу как

await Booking.findById( acceptedBookings[0].id ) или

await Booking.findOne({_id : acceptedBookings[0].id})

Это не дает ответа

1 Ответ

0 голосов
/ 04 февраля 2020

Вы получаете доступ к неправильному участнику, что вы хотите: давайте предположим, что ваш map похож на

  const acceptedBookings = {
  "accepted": [{
          "id": "e1f66d7a852986709f665c3",
          "Date": "2020-02-04T05:03:25.332Z"
      },
      {
          "id": "i123",
          "Date": "2020-02-04T05:03:25.332Z"
      },
      {
          "id": "i123",
          "Date": "2020-02-04T05:03:25.332Z"
      }
  ]
};

console.log(acceptedBookings.accepted[0].id); // e1f66d7a852986709f665c3
console.log(acceptedBookings.accepted[1].id); // i123

await Booking.findById( acceptedBookings.accepted[0].id ) //should work fine

Помните, что созданный вами объект не является array, это map/object с парой key: value, таким образом, сначала получите правильный массив / элемент, а затем получите доступ к его элементам

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...