Meeting.count(countQuery).then(countBookings)
.then(findUser)
. // a few more then blocks, that are not relevant to my problem
.
.
.catch((err) => {
console.log('The meeting error is ', err);
})
这是我的计数查询对象:
let countQuery = {
startDate: {$gte: date1, $lte: date2},
teamId: req.body.teamId
};
这是我的点票预订功能:
const countBookings = (data) => {
console.log('reached countBookings')
if (data >= 6 || data + bookingDet.length > 6) {
res.status(403).json({message: 'Can\'t book for more than 3 hours in a day'})
throw new Error('More than 3 bookings in a day are not allowed.')
} else {
return true
}
}
这是我面临的情况。我需要阻止用户预订超过6个插槽。出于测试目的,我首先预订了2个插槽,然后我可以预订6个插槽。当我再次尝试预订时,这次它起作用了。
我尝试了console.log()
并重复了同样的步骤,结果发现猫鼬没有计算第一批预订。但是当我第三次尝试时,我收到了来自count
查询的6次预订。当我通过mongoshell测试时,在第一次预订2个插槽后,它返回了正确的计数。
我的活动尝试了find()
,但问题是一样的吗?为什么会这样?