我有项目租赁应用程序。我需要决定汽车是否在date_finish和date_start之间的日期(包括该日期)。我有模型-汽车和订单。订单有几个字段:dateStart
和dateFinish
,carId
How to take only这些在start_date和stop_date之间可用的carIds (包括这两天)。
汽车:
mark:{
type: String,
required: true,},
model:{
type: String,
required: true,},
price:{
type: Number,
required: true,},
available: {
type: Boolean,
required: true,},
pic_1:{
type:String,
required:true,
},
pic_2:{
type:String,
required:true,
},
},
{ collection: 'cars' }
)
顺序:
const orderSchema = new mongoose.Schema(
{
userID: { type: String, required: true },
carID: { type: String, required: true },
status: {type:String,required:true},
dateStart: {type:Date,required:true},
dateFinish:{type:Date,required:true},
total: {type:Number,required:true},
},
{ collection: 'orders' }
)
状态:1为新订单,2为当前持续的订单,3为存档/完成的订单
mongoose查询:var orders_n = await Order.find({"status":{'$lte':"2"},$and[{"dateFinish":{ '$lte': start},"dateStart":{}}]"dateFinish":{ '$lte': start}}).select('carID -_id').exec();
该查询不起作用。有谁能帮帮我呢?
编辑:我必须(首先)接受这样的订单:开始和结束日期的-date大于用户传递的结束日期-date小于用户传递的开始日期。换句话说,我需要在经过的日期之间的几天内可用的卡。
发布于 2021-04-17 12:45:09
尝试使用以下方式传递日期:var orders_n = await Order.find({"status":{'$lte':"2"},$and[{"dateFinish":{ '$gte': new Date()},"dateStart":{ '$lte': new Date()}}]}).select('carID -_id').exec();
https://stackoverflow.com/questions/67138230
复制