2016-07-26 7 views
0

私はhereから得たnodejs mysqlラッパーを試しています。セットアップと接続を含むすべてが動作しています。しかし、テーブルにデータを保存しようとすると、エラーObject #<Object> has no method 'table'が出ます。私がちょうどdbオブジェクトをコンソールにすると、私はオブジェクトを取得します。エラーはありません。 誰かが私がここでミスしたことを伝えることができますか?ノードjs mysqlラッパーエラー - オブジェクト#<Object>にはメソッド 'テーブル'がありません

私global.js

//connect to mysql 
var mysql  = require('mysql'); 
var connection = mysql.createConnection({host : 'xxx.xxx.xxx.xxx', user : 'xxxx', password : 'xxxx', database : 'xxxx' }); 
connection.connect(); 
var wrapper = require('node-mysql-wrapper'); 
var db = wrapper.wrap(connection); 
exports.db = db; 

私app.js

var db = require('./global.js'); 
db.table('my_table').save(my_data_object); 

答えて

1

問題は、別のプロパティをエクスポートする代わりに、直接輸出していることです。だからどちらかを変更exports.db = dbmodule.exports = dbまたは変更var db = require('./global.js')からvar db = require('./global.js').dbに変更してください。

また、config.jsではなく、config.jsを参照していますので、それが誤植であるかどうかによって、別の問題である可能性があります。

+0

申し訳ありませんが、 'global'はタイプミスです。あなたが言ったように修正しましたが、'メソッドを呼び出すことはできません ''未定義の保存 'は、チェーンメソッドでオブジェクトをエクスポートする際に問題がありますか? –

+0

このエラーには大文字の「S」が含まれています。あなたの質問に表示されているように、 'save()'では小文字の 's'でなければなりません。また、モジュールのreadmeにあるように、 'db.ready(function(){/ *ここ* /})'の中にその行のコードを置く必要があります。 – mscdex

+0

はい、私も大文字で試していました。私はまだ準備関数の中にラップした後でも同じエラーを受け取りません。私が紛失しているものがわからない –

関連する問題