Files
complete-node-bootcamp/4-natours/after-section-13/models/bookingModel.js
Jonas Schmedtmann 7f81af0ddf Initial commit 🚀
2019-06-13 15:43:15 +01:00

39 lines
751 B
JavaScript

const mongoose = require('mongoose');
const bookingSchema = new mongoose.Schema({
tour: {
type: mongoose.Schema.ObjectId,
ref: 'Tour',
required: [true, 'Booking must belong to a Tour!']
},
user: {
type: mongoose.Schema.ObjectId,
ref: 'User',
required: [true, 'Booking must belong to a User!']
},
price: {
type: Number,
require: [true, 'Booking must have a price.']
},
createdAt: {
type: Date,
default: Date.now()
},
paid: {
type: Boolean,
default: true
}
});
bookingSchema.pre(/^find/, function(next) {
this.populate('user').populate({
path: 'tour',
select: 'name'
});
next();
});
const Booking = mongoose.model('Booking', bookingSchema);
module.exports = Booking;