De la documentación:
Las consultas de mangosta no son promesas. Tienen un .then()
función para coand async/await como conveniencia. Sin embargo, a diferencia de las promesas, llamar a .then()
de una consulta puede ejecutar la consulta varias veces.
Entonces, a diferencia de una promesa real, si llamas a then()
varias veces en la consulta, en realidad ejecuta la consulta (o actualiza) varias veces.
Si desea una promesa real, llame a exec()
en la consulta.
let promise = Test.findOne({}).exec();