首页 > 解决方案 > 如何同时从MongoDB和表行中删除数据

问题描述

这是我在 StackOverflow 上的第一个问题。遵循 RESTful 路由时,您可以创建一个删除按钮,以销毁 MongoDB 中的单个页面和条目。

我的问题是如何制作一个删除按钮,它只破坏单个表行和 MongoDB 中的相同数据?我可以成功添加联系人,但我不知道如何从页面中删除它

这是我需要修改的表的代码:

<table class="table table-bordered">
      <thead>
        <tr>
          <th>First Name</th>
          <th>Last Name</th>
          <th>Telephone Number</th>
          <th>Action</th>
        </tr>
      </thead>
   <% phonebook.forEach(function(contact){ %>
      <tbody>
        <tr>
          <td>
            <%= contact.firstName %>
          </td>
          <td>
            <%= contact.lastName %>
          </td>
          <td>
            <%= contact.phone %>
          </td>
          <td>
            <form action="/phonebook?_method=DELETE" method="POST">
            <button class="btn btn-danger">Delete</button>
            </form>
          </td>
        </tr>
      </tbody>
      <% }); %>
  </table>

这是我的路线代码,需要修改:

//DESTROY 
app.delete("/phonebook/:id", function(req, res){
    Phonebook.findByIdAndRemove(req.params.id, function(err){
      if(err){
        res.redirect("/phonebook");
      } else {
                res.redirect("/phonebook");
      }
    });
});

标签: javascriptnode.jsmongodbmongoose

解决方案


更改此行:

<form action="/phonebook?_method=DELETE" method="POST">

至:

<form action="/phonebook/<%= contact.id %>?_method=DELETE" method="POST">

推荐阅读