Как проверить, был ли объект уже создан?

#javascript #mongodb #express #ejs

Вопрос:

Здравствуйте, я хотел бы проверить, был ли создан объект. Если он создан, то перенаправьте на страницу идентификатора, но если он не создан, перенаправьте на страницу, на которой он создается.

Вот мое приложение

 app.get('/my',isLoggedIn,async (req,res)=gt; {  const safe= await Safe.find({});  if(safe===undefined){  res.redirect('/mysafe')  }  else {  res.redirect(`mysafe/${safe._id}`)  } }) 

я думаю, что это должно сработать, но я получаю ошибку приведения CastError: Приведение к объекту не удалось для значения «неопределенный» (строка типа) по пути «_id» для модели «Безопасный»

Ответ №1:

Вам просто нужно перевернуть свое условие и использовать if(safe) его в качестве условия. Это будет верно, если объект был создан, и ложно, если нет. Что-то вроде:

 app.get('/my', isLoggedIn, async (req,res) =gt; {  const safe= await Safe.find({});  if(safe){  res.redirect(`mysafe/${safe._id}`)  } else {  res.redirect('/mysafe')  } })