.create和.save之间的猫鼬区别

时间:2018-10-18 10:49:19

标签: javascript node.js mongodb express mongoose

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

module List_ap1 =
  struct
    let len(l) = List.length l;;

let fst(l) =
  match l with
    [] -> failwith "error empty list"
  | hd::tail -> hd
;;

现在,已经超过一年了,我无法理解我在这里所做的事情(应该添加一些评论),但是我确实看到我们正在使用类似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"); } }) });

的东西

然后是这里,我完全无法理解

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之间的一般区别是什么?

1 个答案:

答案 0 :(得分:3)

  

Model.create()是一种快捷方式,用于将一个或多个文档保存到   数据库。

     

MyModel.create(docs)对其中的每个文档执行new MyModel(doc).save()   文档。

     

此功能触发以下中间件。

     
      
  • 保存()
  •   

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