Video.js
const videoSchema = new mongoose.Schema({
title: { type: String, required: true, trim: true, maxLength: 80 },
fileUrl: { type: String, required: true },
description: { type: String, required: true, trim: true, minLength: 20 },
createdAt: { type: Date, required: true, default: Date.now },
hashtags: [{ type: String, trim: true }],
meta: {
views: { type: Number, default: 0, required: true },
rating: { type: Number, default: 0, required: true },
},
// ref:'User`는 mongoose에게 owner에 id를 User model에 있는 ObjectId를 저장 하겠다고 알려주는거.
owner: { type: mongoose.Schema.Types.ObjectId, required: true, ref: 'User' },
});
User.js
const userSchema = new mongoose.Schema({
email: { type: String, required: true, unique: true },
avatarUrl: String,
socialOnly: { type: Boolean, default: false },
username: { type: String, required: true, unique: true },
password: { type: String },
name: { type: String, required: true },
location: String,
videos: [{ type: mongoose.Schema.Types.ObjectId, ref: 'Video' }],
});
import Video from '../models/Video';
import User from '../models/User';
const video = await Video.findById(id).populate('owner');
populate('owner')를 하면 user 객체 전체를 값으로 가져옴.
populate 하기전.

populate 한 후
