为什么我们的对象没有删除? Node,Mongo,html

问题描述 投票:1回答:2

我们的对象是由用户通过表单传递信息构建的。我们可以成功创建和发布对象,但我们无法删除它们。

我为此尝试了很多不同的路线/呼叫,但没有一个成功。

这是我们的HTML按钮,用于在Node中触发删除调用:

   <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();
        })
    });
})

任何帮助都会非常感激。

html node.js mongodb rest backend
2个回答
0
投票

你在表单中使用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属性上有语法错误,它应该是action='deleteMe'


0
投票

你在html中有一个额外的引用

行动= '' DELETEME”

© www.soinside.com 2019 - 2024. All rights reserved.