【问题标题】:Modify MongoDB object in Node app在 Node 应用中修改 MongoDB 对象
【发布时间】:2018-01-17 11:07:50
【问题描述】:

我对 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 的名字和姓氏显示为可修改的可编辑字段?

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

【问题讨论】:

    标签: jquery node.js mongodb


    【解决方案1】:

    您可以在用户注册后创建一个单独的表单来编辑个人资料。以及用于编辑配置文件的单独路径。

    节点路由看起来像

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

    【讨论】:

      猜你喜欢
      • 2018-10-18
      • 1970-01-01
      • 2019-07-17
      • 2011-09-19
      • 2016-04-02
      • 2019-09-04
      • 1970-01-01
      • 2016-12-07
      • 2017-07-01
      相关资源
      最近更新 更多