MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Erro ao consultar subdocumentos do Mongodb Convertendo estrutura circular em JSON


TL;DR:

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

Para:

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

Explicação

model.find() apenas retorna uma consulta. Ele não executa a consulta para você. Portanto, a variável 'leads' é atualmente um documento de consulta do Mongoose.

Quando você faz res.send(leads), express internamente faz isso:

JSON.stringify(leads)

stringify() não pode converter estruturas circulares em JSON. Daí o erro.

Se alguém aqui pudesse esclarecer por que o documento de consulta do Mongoose é uma estrutura circular, seria ótimo!