Ниже вы можете найти пример местоположения, которое было создано с использованием моей схемы Place с массивом местоположений и билетов.Внутри массива билетов есть вложенный массив заметок.Я пытаюсь использовать функцию router.post и загрузить заметку в базу данных, используя unshift, но безуспешно.Подскажите пожалуйста, что я делаю не так?Спасибо!
Это ошибка, которую я получаю:
(узел: 36073) UnhandledPromiseRejectionWarning: TypeError: Невозможно прочитать свойство 'tickets' с нулевым значением на Place.findOne.then.place (/Users/fifi/Desktop/FAM./routes/tickets.js:111:13) в processTicksAndRejected (internal / process / next_tick.js: 81: 5) (узел: 36073) UnhandledPromiseRejectionWarning: необработанное отклонение обещания.Эта ошибка возникла либо из-за того, что внутри асинхронной функции возникла ошибка без блока catch, либо из-за отклонения обещания, которое не было обработано с помощью .catch ().(идентификатор отклонения: 1) (узел: 36073) [DEP0018] Предупреждение об устаревании: отклонения необработанного обещания устарели.В будущем отклонения обещаний, которые не обрабатываются, завершат процесс Node.js с ненулевым кодом выхода.
"_id" : ObjectId("5c716edf8f0d6f7b5b4b310f"),
"location" : [
{
"phoneNumber" : "+1 212-226-3126",
"website" : "https://www.apple.com",
"contactEmail" : "apple1004SoHo@apple.com",
"_id" : ObjectId("5c716edf8f0d6f7b5b4b3110"),
"street" : "Prince St",
"buildingNumber" : 103,
"buildingAddition" : "",
"postcode" : "10012",
"city" : "New York",
"country" : "United States",
"latitude" : 40.725056,
"longitude" : -73.999027
}
],
"tickets" : [
{
"status" : "Unassigned",
"_id" : ObjectId("5c729175bdfe628cb5a205c3"),
"ticketUser" : ObjectId("5c6d2e81e6117a2ddb07b070"),
"description" : "Test",
"priority" : "Medium",
"notes" : [
],
"createdAt" : ISODate("2019-02-24T12:43:33.342+0000"),
"updatedAt" : ISODate("2019-02-24T12:43:33.342+0000")
}
],
"customerID" : "Apple",
"placeID" : "1004",
"name" : "SoHo",
"__v" : 2
router.post('/notes/:id', (req, res) => {
Place.findOne({
_id: req.params.id
})
.then(place => {
const newNote = {
noteBody: req.body.noteBody,
noteUser: req.user.id,
}
place.tickets.notes.unshift(newNote);
place.save()
.then(place => {
res.redirect('back')
});
});
});