const mongoose = require("mongoose")
const Duration = new mongoose.Schema({
value: {
type: Number,
requied: true
},
unit: {
type: String
}
}, {
versionKey: false
});
const Unit = new mongoose.Schema(
{
title: {
type: String,
required: true
},
duration: {
type: Duration
},
type: {
type: String
},
description: {
type: String
}
},
{ versionKey: false }
);
const Section = new mongoose.Schema(
{
title: {
type: String,
required: true
},
duration: {
type: Duration
},
type: {
type: String
},
description: {
type: String
},
units: {
type: [Unit]
}
},
{ versionKey: false }
);
const Schedule = new mongoose.Schema(
{
date: {
type: Date,
required: true
},
sections: {
type: [Section]
}
},
{ versionKey: false }
);
const Address = new mongoose.Schema({
country: {
type: String
},
state: {
type: String,
},
city: {
type: String,
},
street: {
type: String,
},
full: {
type: String,
},
createdAt: {
type: Date,
default: Date.now
},
updatedAt: {
type: Date
}
}, {
versionKey: false
});
const schema = new mongoose.Schema(
{
date: {
type: Date,
required: true
},
course: {
type: mongoose.Schema.Types.ObjectId,
ref: 'course',
required: true
},
palnning: {
type: [Schedule],
required: true
},
trainer: {
type: mongoose.Schema.Types.ObjectId,
ref: 'trainer'
},
trainingCompany: {
type: mongoose.Schema.Types.ObjectId,
ref: 'training-company'
},
address: {
type: Address
},
quizzes: {
type: [mongoose.Schema.Types.ObjectId],
ref: 'quiz'
},
path: {
type: String
},
limitPlaces: {
type: Number
},
status: {
type: String
},
available: {
type: Boolean,
default: true
},
createdAt: {
type: Date,
default: new Date()
},
updatedAt: {
type: Date
}
},
{
versionKey: false
}
);
const Session = mongoose.model('session', schema);
let value = {
"course": "59d50c5312d46020ca0ef264",
"address": {
"full": "Tunis"
},
"planning": [
{
"date": "2018-10-20T10:00:00.000Z",
"sections": [{
"title": "section 1",
"type": "any"
}]
},
{
"date": "2017-11-20T10:00:00.000Z"
}
]
};
newSession = new Session(value);
newSession.save()
.then(createdSession => {
console.log(createdSession);
})
.catch(err => {
if (err) {
console.error(err);
}
});
Session.create(value
, (err, createdSession)=> {
if (err) {
if (err) {
console.error(err);
}
} else {
console.log(createdSession);
}
});