【问题标题】:Mongoose Model#save return value猫鼬模型#保存返回值
【发布时间】:2016-10-29 16:42:26
【问题描述】:

我想在执行 save() 时获取整个文档而不是添加的项目。

var newTodo = Todos({
     ID: req.body.ID,
     RuleName: req.body.RuleName
});

newTodo.save(function (err, todos) {
     if (err) throw err;
     res.send(todos);
});

【问题讨论】:

    标签: node.js express mongoose save


    【解决方案1】:

    你不能得到它,除非你扩展模型方法,或者在 save 里面得到它

    简单版

    newTodo.save(function (err, todos) {
         if (err) throw err;
         Todos.find(err, todos) {
             if (err) throw err;
             res.send(todos);
         }
    });
    

    自定义方法的版本

    // in schema definition
    TodosSchema.methods.saveAndFind = function(cb) {
      var self = this;
      self.save(function(err) {
        if(err) throw err;
        return self.model('Todos').find({}, cb);
      })
    };
    // in controller
    var newTodo = Todos({
         ID: req.body.ID,
         RuleName: req.body.RuleName
    });
    newTodo.saveAndFind(function (err, todos) {
         if (err) throw err;
         res.send(todos);
    });
    

    【讨论】:

      猜你喜欢
      • 2021-12-04
      • 2020-09-05
      • 2018-08-19
      • 2015-01-14
      • 1970-01-01
      • 2016-01-21
      • 2016-06-29
      • 2015-05-03
      相关资源
      最近更新 更多