我在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
之间的一般区别是什么?
答案 0 :(得分:3)
Model.create()
是一种快捷方式,用于将一个或多个文档保存到 数据库。
MyModel.create(docs)
对其中的每个文档执行new MyModel(doc).save()
文档。此功能触发以下中间件。
- 保存()