Mongoose pluralizza il nome della collezione al momento della creazione. Quindi, invece di schedule
dovresti usare schedules
{ "$lookup": {
"from": "schedules",
"localField": "_id.id",
"foreignField": "customer.id",
"as": "user_detail"
}}
oppure importare la raccolta ed estrarne il nome
const Schedule = require('/schedules')
{ "$lookup": {
"from": Schedule.collection.name,
"localField": "_id.phone",
"foreignField": "customer.phone",
"as": "user_detail"
}}