Mongoose używa liczby mnogiej nazwy kolekcji w momencie tworzenia. Więc zamiast schedule
powinieneś użyć schedules
{ "$lookup": {
"from": "schedules",
"localField": "_id.id",
"foreignField": "customer.id",
"as": "user_detail"
}}
lub zaimportuj kolekcję i wyodrębnij z niej nazwę kolekcji
const Schedule = require('/schedules')
{ "$lookup": {
"from": Schedule.collection.name,
"localField": "_id.phone",
"foreignField": "customer.phone",
"as": "user_detail"
}}