html - 为什么我们的对象没有被删除? Node 、蒙戈、html

标签 html node.js mongodb rest backend

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

我为此尝试了许多不同的路线/调用,但没有一个成功。

这是我们的 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();
        })
    });
})

任何帮助将不胜感激。

最佳答案

您在表单中使用 delete 方法,这是正确的,并且在 Express 服务器上使用 post 方法,请尝试使用 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'

关于html - 为什么我们的对象没有被删除? Node 、蒙戈、html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52088324/

相关文章:

javascript - 使用本地存储在按钮类之间切换

php - 防止人们向图片上传表单发送垃圾邮件

node.js - 在 mongoose 模式中使用 geoJSON 并在查询中使用它

node.js - Mongoose 到对象

mongodb - 如何在Ubuntu 14.04.4上通过配置文件使用replicaSet启动mongoDB

java - mongodb 的 JDBC 驱动程序类名是什么?

jquery - 在 div 内设置边框样式

xml - 如何将身份验证 header 传递给node-soap

javascript - 用于数据传输的 WebSockets 与 XHR

html - 将结果重定向到另一个页面上的 IFrame