userIdをreturnして、関数の外でも使いたいのですが、
実行の順番がうまくいっておりません。
調べる限り、mongodbのクエリーの下記方がネスト構造になり、
asynk/awaitの非同期処理でもうまくいきませんでした。
初歩的な質問であれば、申し訳ないです。
よろしくお願いいたします。
const userInsert = () => { MongoClient.connect(url, (err, db) => { var userId; db.collection("users", (error, collection) => { collection.insert([ { name: "userName", phone: 09012345678, mail: "test@mail", address: "testAddress", status:null } ], (error, result) => { userId = result.insertedIds; console.log("userId = " + userId); db.close(); console.log("user_insert ok"); return userId; }); }); }); } var usr = userInsert(); console.log("usr = " + usr); console.log(1);
実行結果
usr = undefined
1
userId = 5aadfa186ecbff3d0454399c
user_insert ok
望んでいる結果
userId = 5aadfa186ecbff3d0454399c
user_insert ok
usr = 5aadfa186ecbff3d0454399c
1
回答2件
あなたの回答
tips
プレビュー