修改节点应用程序

时间:2018-01-17 02:57:23

标签: jquery node.js mongodb

我对node和mongo相当新,并且有关于更新mongodb对象的问题。任何建议,将不胜感激。我有一个需要注册的基本应用程序。登记表工作正常。用户根据我设置的架构保存在mongo中。我希望用户的一部分能够根据需要修改现有用户。我编写了删除用户的逻辑,并使用客户端jquery调用服务器端路由来翻转一些布尔值。那些工作没有问题。我还想授予修改某些字段的能力,即纠正拼写错误的名称。

以下是用户单击按钮时更改其中一个布尔值的逻辑: JQuery的:

$('button.approveuser').click(function(e) {
    let id=$(this).parent().data('userid');
    $.post("/profile/approveuser", {id: id}, function(data, status){
        console.log(data);
    })
});

节点路线:

app.post("/profile/approveuser", isLoggedIn, function(req, res) {
    console.log(req.body);
    User.update({_id: req.body.id}, {$set: {active:true}}, 
      function(error, doc){
        console.log(doc, error, " updated");
        res.json({success:true});
      });
  });

我正在处理按下按钮时显示某个字段以进行修改所需的逻辑,然后在用户保存对这些字段的更改时相应地更新mongodb。例如,如果这是Mongo架构:

var userSchema = mongoose.Schema({
    firstname: String, 
    lastname: String,
    admin: String,
    active: {
        type: Boolean,
        default: false
    },

如果可以修改该_id的点击,名字和姓氏作为可修改的可编辑字段?

任何建议将不胜感激。谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

您可以在用户注册后创建单独的表单来编辑个人资料。以及编辑个人资料的单独路线。

节点路线看起来像

app.post("/profile/approveuser", isLoggedIn, function(req, res) {
    console.log(req.body);
    User.update({_id: req.body.id}, {$set: {"firstname":"abcd"}}, 
      function(error, doc){
        console.log(doc, error, " updated");
        res.json({success:true});
      });
  });