у меня две схемы
vehicle
схема:
const VehicleSchema = new Schema({
title: {
type: String,
required: true
},
price: {
type: Number,
required: true
},
);
VehicleSchema.virtual('promotions', {
ref: 'Promotion',
localField: '_id',
foreignField: 'vehicle',
justOne: true
});
export default mongoose.model('Vehicle', VehicleSchema);
Promotion
Схема:
const PromotionSchema = new Schema({
start_at: {
type: Date,
required: true
},
end_at: {
type: Date,
required: true
},
vehicle: {
type: Schema.Types.ObjectId,
ref: 'Vehicle'
},
amount:{
type:Number,
required:true
},
});
export default mongoose.model('Promotion', PromotionSchema);
каждые vehicle
имеют мульти Promotion
, и одно из Акции активно (start_at
меньше Date.now
и end_at
больше Date.now
)
1 - мне нужно получить все транспортные средства с одной рекламной акцией (которая сейчас активна) и отсортировать ее по start_at
2 - возможно ли добавить виртуальное поле с именем is_promotion
и установить его в значение true, если активна акция?
примечание: возможно, что некоторые Vehicle
не имеют Promotion