ホームページ >データベース >mysql チュートリアル >Node-webkit および MySQL の RowDataPacket オブジェクトからデータにアクセスするにはどうすればよいですか?
Node-webkit と MySQL を使用する場合、データベース クエリからデータを抽出することは謎のように思えるかもしれません。遭遇する可能性のあるパズルの 1 つは、クエリの結果へのアクセスです。クエリの結果は、多くの場合 RowDataPacket オブジェクトに保存されます。
コードでは、query() を使用した後、結果を ret 配列に保存しています。メソッド:
var ret = []; conn.query(SQLquery, function(err, rows, fields) { if (err) alert("..."); else { for (var i of rows) ret.push(i); } doStuffwithTheResult(ret); });
驚いたことに、doStuffwithTheResult 関数で結果を操作しようとすると、どのように抽出すればよいのか疑問に思います。 data.
この謎を解明するには、RowDataPacket オブジェクトの性質を理解する必要があります。その名前に反して、RowDataPacket はパケットではなく、オブジェクトを作成するコンストラクター関数です。各オブジェクトには、データベース テーブル内の行を表すキーと値のペアが含まれています。これらの値には、ドット表記を使用してアクセスできます。
たとえば、最初の結果から user_id を取得する場合は、ret[0].user_id を使用します。キーと値の両方を取得するには、ret[0].user_id または ret[0]['user_id'] を実行します。
RowDataPacket オブジェクトは通常のオブジェクトであることに注意してください。これを確認するには、コンストラクター名 [0].constructor.name を確認します。これにより、オブジェクトが RowDataPacket.
のインスタンスであることがわかります。以上がNode-webkit および MySQL の RowDataPacket オブジェクトからデータにアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。