Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 使用mongoldb、mongoose、jade和express通过单击按钮删除条目_Node.js_Mongodb_Express_Mongoose_Pug - Fatal编程技术网

Node.js 使用mongoldb、mongoose、jade和express通过单击按钮删除条目

Node.js 使用mongoldb、mongoose、jade和express通过单击按钮删除条目,node.js,mongodb,express,mongoose,pug,Node.js,Mongodb,Express,Mongoose,Pug,因此,我很难理解如何通过在视图中单击按钮来删除数据库中的条目。这种逻辑对我来说毫无意义。我的观点是这样的: app.post('/users/delete', function(req, res, next) { var userId = req.body.userId || req.query.userId; userSchema.remove({_id: userId}, function(err, res) { if (err) { res.json({"err

因此,我很难理解如何通过在视图中单击按钮来删除数据库中的条目。这种逻辑对我来说毫无意义。我的观点是这样的:

app.post('/users/delete', function(req, res, next) {
   var userId = req.body.userId || req.query.userId;

   userSchema.remove({_id: userId}, function(err, res) {
       if (err) { res.json({"err": err}); } else { res.json({success: true});
   });
});

如何让每个按钮连接到每个条目??我将在下面列出我的视图和路线代码,以便您浏览

翡翠

  extends ../userLayout
block localStyles
    link(rel='stylesheet', href='/stylesheets/usersPage/users.css')
block content
    .container
        .users.col-md-11.col-xs-12.table-responsive 
            h1 Current Users
            form.form(method="post" action="/users/view")
                table.col-xs-12
                    tr
                        th Name
                        th Username
                        th
                    each user in users 
                        tr
                            td= user.name
                            td= user.username
                            td  
                                button.btn.btn-danger.col-xs-12 X
  router.post('/view', function(req, res, next) {

//***potential delete code

      userSchema.remove({ name: 'reg' }, function (err) {
          if (err) return handleError(err);
          // removed!      

            });

    });
用户路线

  extends ../userLayout
block localStyles
    link(rel='stylesheet', href='/stylesheets/usersPage/users.css')
block content
    .container
        .users.col-md-11.col-xs-12.table-responsive 
            h1 Current Users
            form.form(method="post" action="/users/view")
                table.col-xs-12
                    tr
                        th Name
                        th Username
                        th
                    each user in users 
                        tr
                            td= user.name
                            td= user.username
                            td  
                                button.btn.btn-danger.col-xs-12 X
  router.post('/view', function(req, res, next) {

//***potential delete code

      userSchema.remove({ name: 'reg' }, function (err) {
          if (err) return handleError(err);
          // removed!      

            });

    });

正如我所说的,我的大问题只是获取一个按钮来删除某个条目背后的逻辑。任何帮助都将不胜感激。

一种方法是在每个按钮中设置要删除的文档的id

//jade
td
   button.remove-doc.btn.btn-danger.col-xs-12(data-id="#{user.id)") X
并添加一个事件侦听器以发送ajax请求以删除用户:

<script>
   $('buttons.remove.doc').on('click', function() {
      var userId = $(this).attr('data-id');
      $.ajax({
         method: "POST",
         url: "/users/delete",
         data: {"userId": userId},
         success: function(result) {
            if(/* check if it is ok */) {
                location.reload();
            }
         }
      })
   });
</script>