const chatSchema=new Schema({
room:{
type:ObjectId,
required:true,
ref:'Room',
},
user:{
type:String,
required:true,
},
chat:String,
gif:String,
createdAt:{
type:Date,
defualt:Date.now,
},
});
room(채팅방 아이디), user(채팅을 한 사람), chat(채팅 내역), gif(이미지 주소), createAt(채팅 시간) 필드를 추가.
room 필드는 Room 스키마와 연결하여 Room 컬렉션의 ObjetId가 들어가게 한다.
chat/img 속성을 둘 중 하나의 데이터만 저장되기 때문에 required 속성은 제외하였다.
const roomSchema=new Schema({
title:{
type:String,
required:true,
},
max:{
type:Number,
required:true,
default:10,
min:2,
},
owner:{
type:String,
required:true,
},
password:String,
createdAt:{
type:Date,
default:Date.now,
},
});
title(방 제목), max(최대 수용 인원), owner(방장), password(비밀번호), createdAt(생성 시간) 필드를 추가.
password필드는 required 속성을 추가하지 않고 비밀번호가 있으면 비밀방, 없다면 공개방으로 적용할 것이다.
const userSchema=new Schema({
email:{
type:String,
required:true,
},
nick:{
type:String,
required:true,
unieuq:true,
},
password:{
type:String,
required:true,
},
createdAt:{
type:Date,
defualt:Date.now,
},
});
email(이메일), nick(닉네임), password(비밀번호), createdAt(생성 시간) 필드를 추가.