node.js mysql insert id-挿入クエリの外部に挿入IDを公開するにはどうすればよいですか?

Larry_Owens_1967

mysqlテーブルに挿入する必要があるjson形式(または任意の形式)の値のリストがあるとしましょう。挿入後、mysql.query呼び出しの外部にresult.insertIdを公開する必要があります。それを行う方法はありますか?(なぜこれが必要なのか私に聞かないでください:私はこれを回避する方法を知っています。私はこのシナリオが可能かどうかを知る必要があります)。理想的には、各配列アイテムの説明と挿入IDが画面に出力されます。代わりに、空の配列を取得します。はい、コールバックconsole.logを配置することでこれを実現できることを私は知っています。それは私が必要とする答えではありません。コールバックの外部に挿入IDを公開することは可能ですか?

var todos = require('./todos.json');
var mysql = require('mysql');

var mysql_pool = mysql.createPool({
  host : 'localhost',
  user : 'myuser',
  password : 'mypwd',
  database : 'mydb'});

var todoArray = [];

todos.forEach(function(todo) {
   mysql_pool.query("INSERT INTO todos(description) VALUES(?)", todo.description, function(err, result){
        if (err) {
            console.log(" Unable to insert: " + err);
            throw err;
            }
        todoArray.push({description: todo.description, desc_id: result.insertId});
    });
});

console.log(todoArray);
cmp-202

console.logコマンドの後に完了するクエリコールバック関数のBrianre非同期の性質に同意するため、結果は得られません。クエリループに関して、以下のメソッドはそれをシーケンシャルにすることでそれを解決します。次のデータは、前のクエリコールバックが実行されたときに読み込まれます。

問題は、現在のメソッドで配列全体をいつ処理するかがわからないことです。最後のループがわかっている場合は、クエリコールバックの最後のステップとして配列を処理できます。その前に、配列をロードするだけです。

iterator nextコマンドを使用すると、次の値と、最後のループかどうかのインジケーターが表示されます。

うまくいけば、このようなもの:

//use require to get node to parse in the json file as an object
//set todo as iterator type
var todos = require("./path/todos.json")[Symbol.iterator](),
todoArray = [],
todo = todos.next()

//todos.next() iterator cammand returns {done: true/false, value: { }}
//we want to know the end so we can process todoAray

do { 
    mysql_pool.query("INSERT INTO todos(description) VALUES(?)",
        todo.value.description, 
        function(err, result){ 
            if (err) { console.log(" Unable to insert: " + err); throw err; }
            todoArray.push({description: todo.value.description, desc_id: result.insertId})
            todo = todos.next()
            If(todo.done === true){
                console.log(todoArray)
            }
    }); 
}while (!todo.done)

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

node.jsを使用してmySQLに一括挿入するにはどうすればよいですか?

分類Dev

Id、node.jsによってREST APIで複数の投稿リクエストを送信するにはどうすればよいですか?

分類Dev

MySQL PDO接続、挿入されたIDを取得するにはどうすればよいですか?

分類Dev

node.jsのreq.params.idの値でmongoDBクエリを区別するにはどうすればよいですか?

分類Dev

Prototype jsのクラスまたはIDの後にHTMLコードを挿入するにはどうすればよいですか?

分類Dev

反乱APIでquarkusリアクティブmysqlクライアントを使用するトランザクションでmysqlに最後に挿入されたIDを挿入して取得するにはどうすればよいですか?

分類Dev

ネストされた SELECT を使用した INSERT クエリで挿入された行の数を取得するにはどうすればよいですか? 影響を受けた_rows、result_id、num_rowsで運が悪い

分類Dev

Express jsを使用してMySQLデータベースにリクエスト本文を挿入するにはどうすればよいですか?

分類Dev

1つのINSERTで複数の行の挿入IDを取得するにはどうすればよいですか?

分類Dev

node.jsのmongodbから最後に挿入されたIDを取得するには

分類Dev

MySQLとGoで最後に挿入された行のIDを取得するにはどうすればよいですか?

分類Dev

OOP PHPを使用して最後のIDをmysqlに挿入するにはどうすればよいですか?

分類Dev

mysqlの自動インクリメントされたフィールドIDをphpに挿入し、あるテーブルのIDを別のテーブルに更新するにはどうすればよいですか?

分類Dev

MySQLクエリのコールバックを返し、Node.jsの配列にプッシュするにはどうすればよいですか?

分類Dev

PHPのmysqlデータベースから最後の挿入IDを取得するにはどうすればよいですか?

分類Dev

req.query.idから引用符を削除するにはどうすればよいですか。node.js

分類Dev

Node.jsでセッションIDを生成するにはどうすればよいですか?

分類Dev

挿入する前にLAST_INSERT_ID()をクリアして、返されたものが挿入からのものかどうかを確認します

分類Dev

Node.js Puppeteer TR ID値を取得するにはどうすればよいですか?

分類Dev

Pythonを使用してMySQLデータベースに挿入した後、「ID」を取得するにはどうすればよいですか?

分類Dev

Accessの挿入クエリからIDを取得するにはどうすればよいですか?

分類Dev

Node.js Mysql Insert Object with On Dublicate

分類Dev

Mysqlとnode.jsでデータベース同期クエリを作成するにはどうすればよいですか?

分類Dev

node.jsとmysqlで複数のSQLを使用するにはどうすればよいですか?

分類Dev

mysql dbに挿入するときにLast Insert Idを取得する最も信頼できる方法は何ですか

分類Dev

Socket.io、Node.js:javascript.jsからjavascript変数をmysqlクエリに渡すにはどうすればよいですか?

分類Dev

node-mysqlに挿入するときにrows [0]を選択するにはどうすればよいですか?

分類Dev

MySQL 100%が最後の挿入IDを取得しますLAST_INSERT_ID();

分類Dev

Node.js:require()を介して挿入されるファイルにグローバル変数を渡すにはどうすればよいですか?

Related 関連記事

  1. 1

    node.jsを使用してmySQLに一括挿入するにはどうすればよいですか?

  2. 2

    Id、node.jsによってREST APIで複数の投稿リクエストを送信するにはどうすればよいですか?

  3. 3

    MySQL PDO接続、挿入されたIDを取得するにはどうすればよいですか?

  4. 4

    node.jsのreq.params.idの値でmongoDBクエリを区別するにはどうすればよいですか?

  5. 5

    Prototype jsのクラスまたはIDの後にHTMLコードを挿入するにはどうすればよいですか?

  6. 6

    反乱APIでquarkusリアクティブmysqlクライアントを使用するトランザクションでmysqlに最後に挿入されたIDを挿入して取得するにはどうすればよいですか?

  7. 7

    ネストされた SELECT を使用した INSERT クエリで挿入された行の数を取得するにはどうすればよいですか? 影響を受けた_rows、result_id、num_rowsで運が悪い

  8. 8

    Express jsを使用してMySQLデータベースにリクエスト本文を挿入するにはどうすればよいですか?

  9. 9

    1つのINSERTで複数の行の挿入IDを取得するにはどうすればよいですか?

  10. 10

    node.jsのmongodbから最後に挿入されたIDを取得するには

  11. 11

    MySQLとGoで最後に挿入された行のIDを取得するにはどうすればよいですか?

  12. 12

    OOP PHPを使用して最後のIDをmysqlに挿入するにはどうすればよいですか?

  13. 13

    mysqlの自動インクリメントされたフィールドIDをphpに挿入し、あるテーブルのIDを別のテーブルに更新するにはどうすればよいですか?

  14. 14

    MySQLクエリのコールバックを返し、Node.jsの配列にプッシュするにはどうすればよいですか?

  15. 15

    PHPのmysqlデータベースから最後の挿入IDを取得するにはどうすればよいですか?

  16. 16

    req.query.idから引用符を削除するにはどうすればよいですか。node.js

  17. 17

    Node.jsでセッションIDを生成するにはどうすればよいですか?

  18. 18

    挿入する前にLAST_INSERT_ID()をクリアして、返されたものが挿入からのものかどうかを確認します

  19. 19

    Node.js Puppeteer TR ID値を取得するにはどうすればよいですか?

  20. 20

    Pythonを使用してMySQLデータベースに挿入した後、「ID」を取得するにはどうすればよいですか?

  21. 21

    Accessの挿入クエリからIDを取得するにはどうすればよいですか?

  22. 22

    Node.js Mysql Insert Object with On Dublicate

  23. 23

    Mysqlとnode.jsでデータベース同期クエリを作成するにはどうすればよいですか?

  24. 24

    node.jsとmysqlで複数のSQLを使用するにはどうすればよいですか?

  25. 25

    mysql dbに挿入するときにLast Insert Idを取得する最も信頼できる方法は何ですか

  26. 26

    Socket.io、Node.js:javascript.jsからjavascript変数をmysqlクエリに渡すにはどうすればよいですか?

  27. 27

    node-mysqlに挿入するときにrows [0]を選択するにはどうすればよいですか?

  28. 28

    MySQL 100%が最後の挿入IDを取得しますLAST_INSERT_ID();

  29. 29

    Node.js:require()を介して挿入されるファイルにグローバル変数を渡すにはどうすればよいですか?

ホットタグ

アーカイブ