По сути, я хочу создать пост, в котором есть его автор и имя пользователя, того, кто его создал.Я также хочу, чтобы сообщение было помещено в массив сообщений, который имеется в модели пользователя, который ссылается на «Опубликовать».
Я гуглял и смотрел видео на YouTube, но все еще не понимаюкак я собираюсь это сделать, также я прочитал о заполнении, но я хочу создать новый пост и сделать так, чтобы автор был именем пользователя, также я хочу, чтобы пост был помещен в массив постов, которые есть у пользователя.
Как бы я поступил так?
Это контроллер создания записи
exports.postCreatePost = (req, res, ) => {
const {
title,
description,
context
} = req.body;
const post = new Post({
title,
description,
context,
author:
})
}
Это модель.js
const mongoose = require("mongoose"),
Schema = mongoose.Schema,
bcrypt = require("bcryptjs");
const postSchema = new Schema({
title: String,
description: String,
context: String,
author: {
type: Schema.Types.ObjectId,
ref: "User"
}
});
const userSchema = new Schema({
name: {
type: String,
required: true
},
email: {
type: String,
required: true,
},
password: {
type: String,
required: true
},
posts: [{
type: Schema.Types.ObjectId,
ref: "Post"
}]
});
userSchema.pre("save", async function save(next) {
const user = this;
if (!user.isModified("password")) return next();
const hashedPassword = await bcrypt.hash(user.password, 10);
user.password = hashedPassword;
next();
});
const Post = mongoose.model("Post", postSchema);
const User = mongoose.model("User", userSchema);
const userId = new mongoose.Types.ObjectId();