我正在创建一个模块,用于使用 module.exports 在 MongoDB 上记录购买的商品。这是我第一次使用这个 module.exports。
我需要返回 updateOne() 查询的结果,因为我需要在 main.js 上使用 moddedCount 信息。然而,返回的结果是未定义的。我读到我应该使用回调或承诺,承诺更好。我该如何在我的案例中做到这一点?
这是我在 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;
这是我在 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 }