Ich erstelle mithilfe von module.exports ein Modul, das gekaufte Artikel in MongoDB aufzeichnet. Dies ist das erste Mal, dass ich dieses module.exports verwende.
Ich muss die Ergebnisse der updateOne()-Abfrage zurückgeben, da ich moddedCount-Informationen zu main.js benötige. Das zurückgegebene Ergebnis ist jedoch undefiniert. Ich habe gelesen, dass ich Rückrufe oder Versprechen verwenden sollte, Versprechen sind besser. Wie kann ich das in meinem Fall machen?
Dies ist mein Code im Modul recordPurchase.js:
const recordPurchase = (userid, item, price) => { db.collection("users").updateOne({ userid: userid }, { $push: { purchases: { item: item, price: price } } }) .then((result) => { if (result.modifiedCount > 0) { console.log("Success"); return result; //return the updateone information } }) .catch((err) => { console.log("Error recording purchase: " + err) }) } module.exports = recordPurchase;
So nenne ich es auf main.js
if (msg.content === "test") { const userid = "12345"; const item = "Some item name"; const price = 10; const result = recordPurchase(userid, item, price) console.log(result); //returns updateone/result information }