我正在尝试根据以下过滤器获取数据:如果时间戳在特定日期的08:00:00和16:00:00之间,它应该返回结果。$gte比16:00:00过滤器工作正常,但不是$lte。
work.time.work_time.start_time的时间戳= 1680940800000
请求预订的时间戳.booking.estimated_start_time = 1680919200000
代码如下:(它应该失败,但不知何故它并没有失败)。
const bookingObject = await this.bookingRepository.findOne({
user_id: body.worker_id,
'work.date': requestBooking.booking.date,
'work.time.work_time.start_time': {
$lte: requestBooking.booking.estimated_start_time,
},
'work.time.work_time.end_time': {
$gte: requestBooking.booking.estimated_start_time + 1800000, // +30 min after
},
});
1条答案
按热度按时间9njqaruj1#
您使用操作符的方式不正确,您希望时间戳在一个范围内,因此,
start_time
应该大于等于,end_time
应该小于等于。尝试以下操作: