简体   繁体   English

如何在Node.js中删除特定行并表达

[英]How to delete a particular row in Node.js and express

How can I delete data from a list in Node.js, using express and ejs view? 如何使用expressejs视图从Node.js中的列表中删除数据? I have tried, but it's not working. 我已经尝试过,但是没有用。 I am using mongodb . 我正在使用mongodb

Here is what I have done so far but it's not working. 这是我到目前为止所做的,但是没有用。

router.post('/delete', function(req, res, next) {
  var id = req.body.id;

  mongodb.connect(url, function(err, db) {
    assert.equal(null, err);

    db.collection('profile').deleteOne({ "_id": objectId(id) }, function(err, result) {
      console.log('Item deleted');
      db.close();
    });
  });

  res.redirect('/userlist');
});

and ejs (view) code is: 和ejs(视图)代码为:

<td><a href="/userlist/delete">Delete</a></td>

below code is works but when I press Delete , it deletes all the row. 下面的代码是可行的,但是当我按Delete时 ,它将删除所有行。 Here I used get intead of post 在这里我使用了获取帖子

router.get('/delete', function(req, res, next) {

  mongodb.connect(url, function(err, db) {
    assert.equal(null, err);

    db.collection('profile').deleteOne(function(err, result) {
      console.log('Item deleted');
      db.close();
    });
  });

  res.redirect('/userlist');
});

If you want to use a get request, it can be done like this: 如果要使用get请求,可以这样进行:

router.get('/delete/:id', function(req, res, next) {
  var id = req.params.id;

  mongodb.connect(url, function(err, db) {
    assert.equal(null, err);

    db.collection('profile').deleteOne({ "_id": objectId(id) }, function(err, result) {
      console.log('Item deleted');
      db.close();
    });
  });

  res.redirect('/userlist');
});

Now you need to request something like this: 现在,您需要请求以下内容:

<td><a href="/userlist/delete/some-id">Delete</a></td>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM