Для приложения такси, необходимо закрепить авто за водителем, историю водителей необходимо сохранить в коллекцию водителей. Не могу в голове правильно выстроить логику. Помогите плз.
Водители
Авто
Модель
var DriversSchema = new Schema({
name: {
type: String,
required: true,
trim: true,
unique: true,
dropDups: true
},
id: {
type: Number,
required: true,
unique: true,
dropDups: true
},
car: {
type: Schema.ObjectId,
ref: 'Car'
}
});
Авто
var CarsSchema = new Schema({
number: {
type: String,
unique: true,
dropDups: true,
required: true
},
model: {
type: String,
required: true
},
mileage: Number,
color: String,
isBusy: {
type: Boolean,
default: false
},
drivers: [{
date: Date,
driver: {
type: Schema.ObjectId,
ref: 'Driver',
required: true
}
}]
});
Нахожу водителя и сохраняю копию авто
$scope.findOne = function() {
Drivers.get({
driverId: $stateParams.driverId
}, function(driver) {
console.log('driver ', driver);
$scope.driver = driver;
$scope.oldCar = driver.car;
$scope.cars.unshift(driver.car);
});
};
Обновляю документ
$scope.update = function(isValid) {
if (isValid) {
var driver = $scope.driver;
if (!driver.updated) {
driver.updated = [];
}
driver.updated.push(new Date().getTime());
driver.user = MeanUser.user;
driver.acl = MeanUser.acl;
console.log('update driver ', driver);
if(driver.car){
driver.car.isBusy = true;
}
driver.$update(function() {
if($scope.oldCar){
updateCar($scope.oldCar);
}
$location.path('drivers/' + driver._id);
});
}
else {
$scope.submitted = true;
}
};
function updateCar(oldCar) {
Cars.get({carId: oldCar._id}, function (car) {
car.isBusy = false;
car.$update(function (response) {
console.log('OldCar updated ', response);
})
});
}
Как сделать смену авто, сохранять водителей которые ранее ездили на ней ?