Я сделал bootcamp на udemy долго назад на Express и Mongoose, где предположим, что мы хотим добавить новое поле в данные, мы сделали что-то вроде этого
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
и .save
?
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();
Потому что в вышеприведенном случае, если я сделал что-то вроде этого: newlyCreated.save()
{`тогда почему мы сделали что-то подобное newlyCreated.save()
? Также большое спасибо за вопрос :)