Estoy atascado en la resolución de la promesa, ¿alguien puede explicarme cómo almacenar el resultado de la promesa en una variable? Estoy trabajando con mongoDB y quiero obtener algunos datos de él. aquí está mi ejemplo.
const checkRelated = new Promise((resolve, reject) => { return RelatedProducts.find({ parent_id: { $in: product_id.split(',') }, }) .then((res) => reject(res)) .catch(err => reject(err)) })después de obtener los datos, quiero hacer alguna validación. Por ejemplo.
if(checkRelated.length > 0) { do smth.... } pero para mi sorpresa me sale "promise {pending}"
Estás complicando demasiado a Mongoose, si quieres hacer una función asíncrona, puedes hacerlo, pero nunca he visto que se use una nueva Promise con Mongoose. Si desea crear un método asíncrono con mongoose, haga lo siguiente
exports.getRelatedProducts = async (req, res) => { try { const checkRelated = await RelatedProducts.find({parent_id: { $in: product_id.split(',') }}) if (checkRelated.length > 0){ do smth... } } catch (error) { reject(error) } }pero tenga en cuenta que primero debe crear el método asíncrono. entonces puedes usar esperar.