Database

[{"_id":ObjectId("681a0a555133c90d813dac22"),"kdsConfig":{"ps_screen_packaging_time":10,"ps_screen_preparing_time":10},"progress_status_kd":33,"progress_status_kd_updated_at":"2025-05-07 14:00:00","ps_screen_preparing_n_packaging_permission":true}]

Query

db.collection.find({progress_status_kd:{$in:[32,33]},ps_screen_preparing_n_packaging_permission:true,$expr:{$lte:[{$toDate:"$progress_status_kd_updated_at"},/** "2025-05-07 13:59:40" from this condition bellow it should return date format like this, it works if I put hardcoded date but not from this $cond*/{$cond:[{$eq:["$progress_status_kd",33]},{$dateSubtract:{startDate:"$$NOW",unit:"hour",amount:"$kdsConfig.ps_screen_preparing_time"}},{$dateSubtract:{startDate:"$$NOW",unit:"minute",amount:"$kdsConfig.ps_screen_packaging_time"}}]}]}})

Result