Saya sedang mencipta modul yang merekodkan item yang dibeli pada MongoDB menggunakan module.exports. Ini adalah kali pertama saya menggunakan modul ini.eksport.
Saya perlu mengembalikan hasil pertanyaan updateOne() kerana saya memerlukan maklumat moddedCount pada main.js. Walau bagaimanapun, keputusan yang dikembalikan tidak ditentukan. Saya membaca bahawa saya harus menggunakan panggilan balik atau janji, janji adalah lebih baik. Bagaimanakah saya boleh melakukan ini dalam kes saya?
Ini adalah kod saya dalam 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;
Beginilah saya memanggilnya di 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 }