Actualmente tengo la configuración de código a continuación para recuperar algunos datos de una base de datos MongoDB y me gustaría hacer una función IF que se ejecute en los documentos recibidos. Estoy tratando de tener una función IF que se ejecute si el campo de price en los documentos es un 10% más alto que event.payload.base_price de lo contrario, continúe, soy bastante nuevo en la codificación y MongoDB, así que no puedo resolver esto como soy No estoy seguro de cómo escribir esta función. Cualquier ayuda sería increíblemente apreciada.
async function run() { try { const query = { contract: idSplit[1] , id: idSplit[2] }; const options = { sort: { name: 1 }, projection: {_id: 0, slug: 1, contract: 1, id: 1, price: 1}, }; const cursor = listings.find(query, options); await cursor.forEach(console.dir); } finally { await client.close(); } } run().catch(console.dir);Después de obtener la matriz en el cursor, puede usar las siguientes condiciones en el bucle forEach:
cursor.forEach((element) => { if (element.price > event.payload.base_price + event.payload.base_price * 0.1) { console.log("Event is happening", element.price); } else { console.log("Event is not happening", element.price) } });