MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Erreur d'interrogation des sous-documents Mongodb Conversion de la structure circulaire en JSON

TL; DR :

Changer var leads = Lead.find({"contacts.surname":req.params.name});

À :

var leads = await Lead.find({"contacts.surname":req.params.name});

Explication

model.find() renvoie simplement une requête. Il n'exécute pas la requête pour vous. Ainsi, la variable 'leads' est actuellement un document de requête Mongoose.

Lorsque vous faites res.send(leads), express fait ceci en interne :

JSON.stringify(leads)

stringify() ne peut pas convertir les structures circulaires en JSON. D'où l'erreur.

Si quelqu'un ici pouvait expliquer pourquoi le document de requête Mongoose est une structure circulaire, ce serait formidable !