Если у меня есть коллекция VoterTurnout, как это:
_id: ObjectId("5ae4e704b7bccf133c24f0b8")
electoralUnit:ObjectId("5ab906612f30fe23dc592591")
turnoutByHour:"08:00"
voterTurnout:11
safeVoter:1
date:2018-04-28T21:26:28.678Z
__v:0
как запретить, чтобы следующий ввод, который был бы в 09 :: 00 в поле turnoutByHour, не мог быть полем voterTurnout с номером меньше 11, но только в том случае, если electoranUnit имеет тот же идентификатор?
Я представил что-то с оператором if вроде:
if (req.body.voterTurnout < VoterTurnouts.findOne({voterTurnout : req.params.voterTurnout }))
но не могу понять, как добавить и отключитьByHour и electoranUnit в этой логике ...?
У меня уже много операторов if с сообщениями об ошибках в маршруте:
router.post('/', (req, res)=>{
let errors = [];
if (!req.body.electoralUnit) {
errors.push({message: 'Must chooose Electoral Unit!'});
}
if (!req.body.voterTurnout) {
errors.push({message: 'Must add Voter Turnout!'});
}
if (errors.length > 0) {
res.render('home/voterTurnouts/index', {
errors: errors,
electoralUnit: req.body.electoralUnit,
voterTurnout: req.body.voterTurnout
});
} else {
VoterTurnout.findOne({_id: req.params.id}).then(voterTurnout=>{
const newVoterTurnout = VoterTurnout({
electoralUnit: req.body.electoralUnit,
turnoutByHour: req.body.turnoutByHour,
voterTurnout: req.body.voterTurnout,
safeVoter: req.body.safeVoter
});
newVoterTurnout.save().then(savedVoterTurnout=>{
ElectoralUnit.find({}).then(electoralUnits=>{
res.redirect('/voterTurnouts');
});
}).catch(errors=>{
req.flash('error_message', 'Hours are already added with that Electoral Unit!');
res.redirect('/voterTurnouts');
});
});
}
});
так что мне просто нужно добавить это ...