Mongoose pluraliza o nome da coleção no momento da criação. Então, em vez de
schedule
você deve usar schedules
{ "$lookup": {
"from": "schedules",
"localField": "_id.id",
"foreignField": "customer.id",
"as": "user_detail"
}}
ou importe a coleção e extraia o nome da coleção dela
const Schedule = require('/schedules')
{ "$lookup": {
"from": Schedule.collection.name,
"localField": "_id.phone",
"foreignField": "customer.phone",
"as": "user_detail"
}}