Почему наш объект не удаляется? Узел, Монго, HTML - PullRequest
0 голосов
/ 30 августа 2018

Наши объекты создаются пользователями, которые передают информацию через форму. Мы можем успешно создавать и размещать объекты просто отлично, но мы не можем их удалить.

Я пробовал много разных маршрутов / вызовов для этого, но ни один из них не был успешным.

Вот наша HTML-кнопка для запуска вызова удаления в узле:

   <form  id='deleteMe' name='deleteMe' method='delete' action=''deleteMe'> 
    <input name='_method' value='delete'>
   <button type='submit'> delete </button></form>

здесь - экспресс-маршрут для самого удаления.

router.post('/deleteMe', function (req, res, next) {
    const _id = req.body.id

    mongoose.connect(URL, function (err, db) {
        assert.equal(null, id)
        db.collection('spots').deleteOne({ "_id": objectId(_id) }, function (err, result) {
            console.log('op')
            assert.equal(null, err);
            db.close();
        })
    });
})

Любая помощь будет так цениться.

Ответы [ 2 ]

0 голосов
/ 30 августа 2018

У вас есть дополнительная цитата в html на

действие = 'DeleteMe'

0 голосов
/ 30 августа 2018

Вы используете delete метод в вашей форме, который является правильным и отправьте метод на вашем экспресс-сервере, попробуйте использовать router.delete вместо router.post, например,

router.delete('/deleteMe', function (req, res, next) {
    const _id = req.body.id

    mongoose.connect(URL, function (err, db) {
        assert.equal(null, id)
        db.collection('spots').deleteOne({ "_id": objectId(_id) }, function (err, result) {
            console.log('op')
            assert.equal(null, err);
            db.close();
        })
    });
})

Также в вашей форме есть синтаксическая ошибка для атрибута действия, это должно быть action='deleteMe'

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