【问题标题】:mongoose difference between .create and .save.create 和 .save 之间的猫鼬区别
【发布时间】:2019-03-23 03:55:16
【问题描述】:

早在 Express 和 Mongoose 上,我在 udemy 上做了一个训练营,假设我们想在数据中添加新字段,我们做了类似的事情

var playground = require("../models/playground.js");

route.post("/", middleware.isLoggedIn,function (req, res) {

  var name =  req.body.name;
  var image =  req.body.image;
  var description = req.body.description;
  var price = req.body.price;

  playground.create({
    name: name,
    image:image,
    description: description,
    price: price
  }, function(error, newlyCreated){
    if(error) {
      console.log(error)
    }
    else {
      newlyCreated.author.id = req.user._id;
      newlyCreated.author.username = req.user.username;
      newlyCreated.save();
     res.redirect("/playground");
    }
  })
});

现在,已经一年多了,我无法理解我在这里做什么(应该添加一些 cmets),但我确实看到我们正在使用类似 playground.create({

然后这里有一个我完全无法理解的

          newlyCreated.author.id = req.user._id;
          newlyCreated.author.username = req.user.username;
          newlyCreated.save();

这不是主要问题,但newlyCreated.save(); 会做什么?我的意思是它可能会保存我们从前端获取的数据,但是它将如何工作?

继续第一个问题,我再次关注了一个教程,其中讲师做了一些简单的事情来保存数据

 let author = new Author({  
     name: args.name, 
     age: args.age
       })
 author.save()

那么.create.save 之间的一般区别是什么?

【问题讨论】:

标签: javascript node.js mongodb express mongoose


【解决方案1】:

Model.create() 是将一个或多个文档保存到 数据库。

MyModel.create(docs) 为每个文档执行new MyModel(doc).save() 文档。

此函数触发以下中间件。

  • 保存()

参考:https://mongoosejs.com/docs/api.html#model_Model.create

【讨论】:

  • 你能理解这个吗? newlyCreated.author.id = req.user._id; newlyCreated.author.username = req.user.username; newlyCreated.save(); 因为在上面如果我做了这样的事情`playground.create({`那么我们为什么要做这样的事情newlyCreated.save()?也非常感谢你的提问:)
猜你喜欢
  • 2014-04-12
  • 1970-01-01
  • 2022-11-06
  • 1970-01-01
  • 1970-01-01
  • 2011-05-11
  • 1970-01-01
  • 2016-01-08
相关资源
最近更新 更多