TL; DR:
Zmień var leads = Lead.find({"contacts.surname":req.params.name});
Do:
var leads = await Lead.find({"contacts.surname":req.params.name});
Wyjaśnienie
model.find() po prostu zwraca zapytanie. Nie wykonuje zapytania za Ciebie. Tak więc zmienna „leads” jest obecnie dokumentem zapytania Mongoose.
Kiedy robisz res.send(leads), express wewnętrznie robi to:
JSON.stringify(leads)
stringify() nie może konwertować struktur kołowych na JSON. Stąd błąd.
Jeśli ktoś tutaj mógłby rzucić światło na to, dlaczego dokument zapytania Mongoose ma strukturę kołową, byłoby wspaniale!