遗骸计数返回错误的数据

时间:2017-09-25 14:17:31

标签: node.js mongodb mongoose

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(),但问题是一样的吗?为什么会这样?

0 个答案:

没有答案