I think you should not embed the logic of "grepping" the appointment for a day.
Instead you may do the following:
1) create day-lists (for each day) that will contain appointments for a day (initially slice appointments there)
2) bind the event deleting or creating appointment on the main list that will modify corresponding day-list (add or remove the item)
2) render day-lists in you EJS