Node.jsによるデータベース間のデータ共有方法について

現在node.jsを用いて電話帳機能を持ったtodoリストの作成をしています。
内容としてはDB2にuser名と電話番号を登録しておき、formよりuser名とtodoを入力した際、DB2に共通するuser名があった場合、formに入力されたusre名・todoに加えDB2から取得した電話番号をDB1に追加、共通するuser名がなかった場合formに入力されたuser名とtodoをDB1に追加するというものです。DB1のデータがtodoリストとして表示されます。
DBの構造はtodoList(DB1)[id , userName , todo , phone] userInfo(DB2)[id , usrename , phone]です。
DB1にuser名とtodoを挿入し、DB2から共通する電話番号を取得するところまではできたのですが、そのデータをDB1に追加する方法がわかりません。以下コードです。

Node.js

1 app.post('/create' , (req , res) =>{ 2 connection.query( 3 _//DB1にusername、todoを挿入_ 4 'insert into todoList(name ,todo) values(? ,?)', 5 [req.body.addListUserName/*formのuser名に入力したdata*/,req.body.addListAction/*formのtodoに追加したdata*/], 6 (error ,results) =>{ 7 connection.query( 8 'select phone from userInfo where name=?', 9 [req.body.addListUserName], 10 (error , results) =>{ 11 console.log(results); 12 connection.query( 13 'update todoList set phone=? where name=?', 14 [results , req.body.addListUserName], 15 (error , results) =>{ 16 res.redirect('/list'/*todoリスト一覧*/); 17 } 18 ); 19 }); 20 }); 21 });

11行目のconsole.logで確認すると電話番号の取得はできています。また、12行目以下の処理において13行目のphone=?の?部分を数字に置き換えると、DB1のデータ更新もできますが、現在のコードではDB1のphoneはnullとなってしまいます。どなたか解決方法をご教授いただければ幸いです。

コメントを投稿

0 コメント