2016-04-07 9 views
4

'u tıklattı. Bu nedenle, veritabanımdaki bir girişi nasıl sildiğimi anlamaya çalışmaktan bıktım. Mantık sadece bana mantıklı değil. Bence şöyle görünür:Bir düğmeyle bir girişi silmek mongoldb, jongoose, jade ve express'i kullanarak

enter image description here

nasıl her düğme her giriş bağlanmak için alabilirim ?? Görünümü ve rota kodumu aşağıda listeleyeceğim.

Jade

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="https://stackoverflow.com/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 

kullanıcı rota

router.post('/view', function(req, res, next) { 

//***potential delete code 

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

      }); 

    }); 

Dediğim gibi benim büyük sorun belli girişi silmek için bir düğmeye alma arkasında sadece mantık olduğunu. Herhangi bir yardım, büyük takdir edilecektir.

cevap

3

Bunu yapmanın bir yolu, her düğmeyi kaldırmak istediğiniz belgenin kimliğini belirlemektir.

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

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

böyle bir şey olacak:

//jade 
td 
    button.remove-doc.btn.btn-danger.col-xs-12(data-id="#{user.id)") X 

ve kullanıcı silmek için bir ajax isteği göndermek için bir olay dinleyicisi ekleyin