基于今日日期的mongoose查询

基于今日日期的mongoose查询,mongoose,Mongoose,如何根据今天的日期查询MongoDB?我试过使用Momentjs,但它不起作用。这是代码,非常感谢您的帮助 //mongoDB data appointmentdate:2021-05-28T03:00:00.000+00:00 appointmentdate:2021-05-26T15:00:00.194+00:00 appointmentdate:2021-05-26T15:30:00.481+00:00 //Nodejs const appointment = await App

如何根据今天的日期查询MongoDB?我试过使用Momentjs,但它不起作用。这是代码,非常感谢您的帮助

//mongoDB data
appointmentdate:2021-05-28T03:00:00.000+00:00
appointmentdate:2021-05-26T15:00:00.194+00:00
appointmentdate:2021-05-26T15:30:00.481+00:00
    
//Nodejs
const appointment = await Appointment.find({appointmentdate:{$eq: moment().format('YYYY-MM-DD')}}).sort({appointmentdate: 1})

查询日期对象时,需要将其与其他日期进行比较,而不是字符串(这是
.format(“…”)
方法的输出)。 要查找一天中的所有项目,您需要查询一系列日期,这可以通过

$lt
表示“小于”,而
$gte
表示“大于或等于”。最好让范围的一侧使用“或等于”,以避免查询遗漏范围开始/结束处(在本例中为午夜)的项目

定义范围的开始和结束,然后查询范围内的项目。确保将矩对象转换为原生JS日期类型,以便Mongoose能够理解它们

const start = moment().startOf('day').toDate()
const end = moment().startOf('day').add(1, 'day).toDate()

const appointment = await Appointment.find({
  appointmentdate: {
    $gte: start,
    $lt: end
}}).sort({appointmentdate: 1})

查询日期对象时,需要将其与其他日期进行比较,而不是字符串(这是
.format(“…”)
方法的输出)。 要查找一天中的所有项目,您需要查询一系列日期,这可以通过

$lt
表示“小于”,而
$gte
表示“大于或等于”。最好让范围的一侧使用“或等于”,以避免查询遗漏范围开始/结束处(在本例中为午夜)的项目

定义范围的开始和结束,然后查询范围内的项目。确保将矩对象转换为原生JS日期类型,以便Mongoose能够理解它们

const start = moment().startOf('day').toDate()
const end = moment().startOf('day').add(1, 'day).toDate()

const appointment = await Appointment.find({
  appointmentdate: {
    $gte: start,
    $lt: end
}}).sort({appointmentdate: 1})

您是否尝试查找当天的所有约会,如从午夜到午夜?您是否尝试查找当天的所有约会,如从午夜到午夜?谢谢咖啡因。tech谢谢咖啡因。tech