User(사용자)

{
  "coverImage": String,// X
	"image": String,// O
  "role": String, // (?)=> 문구로 쓸까요?
  "emailVerified": Boolean,// X
  "banned": Boolean,//X
  "isOnline": Boolean, // X
  "posts": Post[], // O
  "likes": Like[], // O
  "comments": String[], // O 
  "followers": [], // X
  "following": [ // X 
    {
      "_id": "6169e91316cb2265df003c6d",
      "user": "6169e58216cb2265df003bf4",
      "follower": "6169e206aa57d952c6dc1edd",
      "createdAt": "2021-10-15T20:48:19.816Z",
      "updatedAt": "2021-10-15T20:48:19.816Z",
      "__v": 0
    }
  ],
  "notifications": Notification[], // O
  "messages": Message[], // X
  "_id": String, // O
  "fullName": String, // O
  "email": String, // O 
  "createdAt": String, // O
  "updatedAt": String // O
}
// DB에서 데이터 건드린 날짜 => 수정날짜랑 생성날짜

직접 사용하는 User의 column

{
	"image": String,
  "role": String,
  "posts": Post[],
  "likes": Like[],
  "comments": String[],
  "notifications": Notification[], 
  "_id": String, 
  "fullName": String, 
  "email": String, 
  "createdAt": String,
  "updatedAt": String
}

Channel(카테고리)

{
  "authRequired": Boolean,// 사용되지 않음
  "posts": String[],
  "_id": String,
  "name": String,
  "description": String, // X 안쓸 것 같은데 남겨는 둡시다
  "createdAt": String,
  "updatedAt": String
}

Post

{
  "likes": Like[],
  "comments": Comment[],
  "_id": String,
  "image": Optional<String>,
  "imagePublicId": Optional<String>,
  "title": String,
  "channel": Channel,
  "author": User,
  "createdAt": String,
  "updatedAt": String
}

Like

{
  "_id": String,
  "user": String,// 사용자 id
  "post": String,// 포스트 id
  "createdAt": String,
  "updatedAt": String
}

Comment

{
  "_id": String,
  "comment": String,
  "author": User,
  "post": String,// 포스트 id
  "createdAt": String,
  "updatedAt": String
}