StudyGroups

{
	_id: {ObjectId},
	title: {String, required}
	subtitle: {String, required}
	leader: {User}, // required
	members: [
		User // Object
	],
	min_personnel: {Number}, // default: 2
  max_personnel: {Number},
	isRecruiting: {Bool}
  intro: {String}, // required
  thumbnail: {String}, // link
	location: {String}, // 공식 주소 (ex. 서울시 서초구 양재1동)
	category: {[String]}, // ["프로그래밍", "웹", "django"]
	tags: {String []}, // optional
	selectedDays: [Number]
	startTime: {Number}
	during: {Number}
}

DeletedStudyGroups

closed 된 스터디 그룹 중 2년 이상된 그룹을 넣는다


{
	_id: {ObjectId},
	title: {String},
  description: {String},
	location: {String},
	tags: {String []}
}

Partners

{
	_id: {ObjectId},
	email: {String}, // required
  password: {String}, // required, hashed
	name: {String},
  cid: {String} // 가맹점 코드
}

Users

사용자의 기록을 저장하는 도큐먼트

{
	_id: {ObjectId},
	email: String,
  gender: String,
  ageRange: String,
  history: { type: [mongoose.Types.ObjectId], default: [] },
  ownGroups: { type: [mongoose.Types.ObjectId], default: [] },
  partipatedGroups: { type: [mongoose.Types.ObjectId], default: [] }
}

StudyRooms

{
	_id: {ObjectId},
	partner_id: {ObjectId}, // Partners _id
	cafe_name: {String},
	name: {String}, // 방 이름 (ex. 201호)
	location: {
				type: "Point",
				coordinates: [lon, lat]
	}, 
  images: {String []},
	price: {Int},
	min_personnel: {Int},
	max_personnel: {Int},
	description: {String},
	open_time: {Integer}, //시간
	close_time: {Integer} //시간
}

Reservations

{
	_id: {ObjectId},
	studyGroup: {StudyGroups},
	studyRoom: {StudyRooms},
	date:  
	[
		{
			reservedDate : {Date}
			start : {Int}
			end : {Int}
		}
	] // 예약날짜와 시간 Array of embedded docuents
}

PaymentLog