访问URL时删除MongoDB条目 - node.js

时间:2014-10-01 18:36:48

标签: javascript html node.js mongodb express

我正在使用node.js和express来为项目制作一个简单的Twitter克隆,并使用MongoDB存储推文。

我正在尝试为推文实现删除功能。用户的个人资料显示他们所有的推文,我希望在每条推文下放一个小按钮或链接,用户将点击该按钮或链接进行删除。

所以,我认为最简单的方法是为每条推文指定一个“删除URL”,例如.... / profile / delete / [mongoDB object id here]。然后在节点中,假设当路由器收到类似URL的get请求时,从数据库中删除具有指定id的对象。

我听说你可以使用正则表达式匹配和解析URL来做到这一点,但我真的找不到任何关于如何使用的资源。那么如何编写正则表达式来匹配这些URL,然后解析URL以获取对象ID?或者有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

我不确定你想在路线中使用正则表达式做什么,但是让我为你写一个案例,并可能将其排除在外:

  • 首先在快递中定义一条路线,然后说' profile / tweet / delete /:id'
  • 仅限该路线删除http动词
  • 请求request.params.id获取ID

类似的东西:

exports.deleteTweet = function(req,res){
    if(req.params.tweetId !==null || req.params.tweetId!==undefined){
        //assuming mongoose here
        TweetSchema.remove({_id:req.params.TweetId},function(err){
            res.send(200);
        });
    }
};

路线:

app.route('/profile/tweet/:tweetId').delete(myController.deleteTweet);