module.exports を使用して、購入したアイテムを MongoDB に記録するモジュールを作成しています。この module.exports を初めて使用します。
main.js の moddedCount 情報が必要なので、updateOne() クエリの結果を返す必要があります。ただし、返される結果は未定義です。コールバックまたはプロミスを使用する必要があると読みましたが、プロミスの方が優れています。私の場合、どうすればよいでしょうか?
これは、recordPurchase.js モジュールのコードです:
const RecordPurchase = (ユーザーID、アイテム、価格) => { db.collection("users").updateOne({ userid: userid }, { $push: { 購入数: { item: item, 価格: 価格 } } }) .then((結果) => { if (result.modifiedCount > 0) { console.log("成功"); return result; //updateone 情報を返す } }) .catch((err) => { console.log("購入の記録中にエラーが発生しました: " err) }) } module.exports = レコード購入;
これが main.js での呼び出し方法です
if (msg.content === "テスト") { const ユーザー ID = "12345"; const item = "何らかのアイテム名"; 定価格 = 10; const result = RecordPurchase(ユーザーID、アイテム、価格) console.log(result); // updateone/result 情報を返します }