2016-07-26 60 views
0

我正在嘗試一個nodejs mysql包裝,我從here得到。一切正在工作,包括設置和連接。但是當我嘗試將一段數據保存到表格中時,出現錯誤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 = db更改爲module.exports = db更改var db = require('./global.js')更改爲var db = require('./global.js').db

此外,您提到global.js而不是config.js,因爲您在問題中顯示,因此根據是否是錯字,這可能是另一個問題。

+0

對不起,'全球'的東西是一個錯字。我改正了你的說法,但現在它說,'不能調用方法'保存'未定義',是否有鏈接方法導出對象的問題? –

+0

該錯誤具有大寫'S'。在你的問題中顯示時,它應該在'save()'中用小寫's'。另外,您可能*需要將該行代碼放入'db.ready(function(){/ * here * /})'中,如模塊的自述文件中所示。 – mscdex

+0

是的,我也在用大寫字母s也沒有。即使包裝在ready函數中,我仍然得到相同的錯誤。不知道我缺少什麼 –

相關問題