2017-01-10 4 views
0

У меня есть проект handlebars/express/mongodb, где я могу сохранять и создавать пользователей, которые могут сохранить и создать маршрут поездки. Я пытаюсь удалить (удалить) конкретный маршрут. У меня есть модель пользователя и модель поездки в отношениях от одного до многих. Передняя часть использует рули в качестве шаблона. Я могу сохранить несколько поездок для одного и того же пользователя и отобразить их. Я пытаюсь удалить одну поездку на основе ее идентификатора, пропущенного через URL. Конечно, поездка имеет уникальный идентификатор, назначенный mongodb.Удалить запись на основе идентификатора, переданного в URL-адресе с использованием mongoose с mongodb в проекте рулей

Мой передний конец рули код выглядит, как это и является частичным рули:

<form action="trips/itinerary/delete/{{this._id}}?_method=DELETE" method="POST"> 

    <button type="submit" class="submit">DELETE!</button> 
</form> 

Мой JS код, используя мангуста, чтобы удалить в моей логики файла (где создавать новые поездки и делает их работает просто отлично) выглядит например:

router.delete('/delete/:_id', function(req,res) { 
    Trip.remove(
     { _id: req.params._id } 
    ) 
    // connect it to this .then. 
     .then(function() { 
      res.redirect('/itinerary'); 
     }) 
}); 

Я получаю не найдена ошибка, хотя она выбрасывает поездку _id в URL. Я думаю, проблема связана с моим использованием параметров? Я не могу найти ясный пример того, как это сделать, используя все инструменты, которые я использую в этом проекте.

Заранее благодарим за любые предложения или помощь!

ответ

0

Вам необходимо преобразовать id из клиента в действительный объект ObjectId или использовать функцию findByIdAndRemove, эта функция принимает String, ObjectId или numebr, поэтому ее проще использовать.

http://mongoosejs.com/docs/api.html#model_Model.findByIdAndRemove