Я относительно новичок в Node JS - искал много источников, потратил больше суток - не повезло.
У меня есть обычное приложение NodeJS, использующее модель Mongoose, Маршруты и контроллеры.
Ниже моя модель и как я создаю новый объект в Контроллере.
КАК И ГДЕ МОЖНО НАЗНАЧАТЬ ЗНАЧЕНИЕ bookingNumber ИСПОЛЬЗУЯ ФУНКЦИЮ ПРОТОТИПА?Предположим, гость останавливается в курортном отеле и в настоящее время находится в процессе бронирования процедуры SPA.Номер бронирования курортного отеля (уникальный для этого гостя) должен быть прикреплен ко всем сделанным заказам SPA.
// MODEL TO BOOK SPA PROCEDURE FOR A HOTEL GUEST
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var Users_BookingSchema = new Schema({
bookingname: {type: String, required: true, unique: true, min: 3, max: 100},
// reservationNumber: {type: String}, // NEEDS TO BE ASSIGNED USING PROTOTYPE
starttime: {type: Date, required: true},
endtime : {type: Date, required: true}
});
Users_BookingSchema
.virtual('url')
.get(function () {
return '/users_booking/'+this._id;
});
module.exports = mongoose.model('Users_Booking', Users_BookingSchema);
И ОТ КОНТРОЛЛЕРА:
// PART OF FUNCTION SAVING HOTEL SPA PROCEDURE BOOKING - create on POST
var sbt = new Users_Booking({
bookingname : req.body.bname,
starttime : jsDateStart, // PARSED DATE IS ASSIGNED
endtime : jsDateEnd // PARSED DATE IS ASSIGNED
// could add code below here - but trying to use prototype
});
Я знаю, что могу добавить следующий кодИзвлеките данные из контроллера
let resNumb = getReservationNumber();
reservationNumber: resNumb;
, но я пытаюсь узнать, как я могу применить ПРОТОТИПЫ для достижения этой цели:
Я НЕ думаю, что мне нужно добавить следующую функцию в файл моделикак Users_Booking НЕ ОПРЕДЕЛЕН
Users_Booking.prototype.reservationNumber = function() {
return "4236"; // ASSUME THIS RETURNS RESERVATION NUMBER UNIQUE TO GUEST BEFORE MAKING A SPA PROCEDURE BOOKING
}
Я вообще в правильном направлении?