2013-03-09 49 views
0

我正在使用一個按鈕來轉到刪除路由,並且傳遞給它一個用於標識要刪除哪個組的密鑰。在使用路線時,不是隻刪除一個團隊,而是刪除所有團隊。有任何想法嗎?Express - app.del()刪除所有項目

刪除按鈕:

 button#teamDelete.btn.btn-danger.btn-mini(type="submit", value="Delete Team") Delete 
     script(type='text/javascript') 
      $('#teamDelete').live('click',function(){ 
       var teamId = #{teamData.key}; 
       $.post('/team/' + teamId, { _method : 'delete' }, function(response) { 
        console.log(response); 
       }); 
      }); 

團隊路線:

app.get('/team'/*, lim("Must be logged in to see teams")*/, getAllTeams, function(req, res){ 
    util.log('Serving request for url [GET] ' + req.route.path); 
    // Pass it the list of all Teams 
    res.render('team', {'teamsList' : req.teamsList}); 
    }); 

    /** 
    * POST /team 
    * Save new Team 
    */ 
    app.post('/team', function(req, res) { 
    util.log('Serving request for url [POST] ' + req.route.path); 

    // Output to console the contents of req.body 
    // console.log('body: ', req.body); 
    // console.log('body.teamForm: ', req.body.teamForm); 
    // console.log('body.teamForm.name: ', req.body.teamForm.name); 
    // console.log('body.teamForm.teamKey: ', req.body.teamForm.teamKey); 

    // Get data from teamForm 
    var teamForm = req.body.teamForm; 

    // Save team in teamForm as new Team 
    var name = teamForm.name; 
    var team = new Team(); 
    team.name = name; 

    // Save new Team to datbase 
    team.save(function(err){ 
     var message = ''; 
     var retStatus = ''; 
     // No error - Successful Save 
     if(!err){ 
     util.log('Successfully created new team: ' + name); 
     message = 'Successfully created new team: ' + name; 
     retStatus = 'success'; 
     } 
     // Error - Unsuccessful Save, show error 
     else { 
     util.log('Error while creating team: ' + name + ' error : ' + util.inspect(err)); 
     if(err.code === 11000){ 
      message = 'Team already exists'; 
     } 
     retStatus = 'failure'; 
     } 
     // Return whether the Save was successful 
     res.json({ 
     'retStatus' : retStatus, 
     'message' : message 
     }); 
    }); 
    }); 

    /** 
    * GET /team/:key 
    * Get Team details by key 
    */ 
    app.get('/team/:key', function(req, res) { 
    util.log('Serving request for url [GET] ' + req.route.path); 
    Team.findByKey(req.params.key, function(err, teamData){ 
     if(!err && teamData){ 
     teamData = teamData; 
     res.render('teamDetails', { 'teamData' : teamData }); 
     } else { 
     util.log('Error in fetching Team by key : ' + req.params.key); 
     res.json({ 
      'retStatus' : 'failure', 
      'msg' : 'Error in fetching Team by key ' + req.params.key 
     }); 
     } 
    }); 
    }); 

    /** 
    * DEL /team/:key 
    * Delete Team by key 
    */ 
    app.del('/team/:key', function(req, res) { 
    util.log('Serving request for url [DEL] ' + req.route.path); 

    util.log(req.params.key); 

    Team.remove(req.params.key, function(err){ 
     var message = ''; 
     var retStatus = ''; 
     if (!err) { 
     util.log('Successfully deleting Team with key: ' + req.params.key); 
     message = 'Successfully deleting Team with key: ' + req.params.key; 
     retStatus = 'Success'; 
     } else { 
     util.log('Error deleting Team with key: ' + req.params.key + 'Error: ' + util.inspect(err)); 
     res.json({ 
      'retStatus' : 'failure', 
      'msg' : 'Error in fetching Team with key ' + req.params.key 
     }); 
     } 
    }); 
    }); 

回答

0

好了,你有沒有表示,但我相信Team是貓鼬的模式,在這種情況下,你是不是正確,指定你conditions參數,它必須是鍵/值標準的對象。嘗試:

http://mongoosejs.com/docs/api.html#model_Model.remove

+0

愚蠢的錯誤錯過!謝謝 – germainelol 2013-03-09 17:53:53

+1

爲了獲得更多樂趣,請在生產數據上嘗試!好時光。 – 2013-03-09 17:55:16

+0

幸運的是隻是在確實此刻的發展宗旨,偏離主題,但在那裏我刪除的路線我想補充一個重定向到'/ team'使其重定向到球隊後刪除列表?我試着把它放在'retStatus = success'後面,但沒有任何工作。 – germainelol 2013-03-09 17:58:37