我为nodejs创建模块
var mysql = require('mysql'), mysqlUtilities = require('mysql-utilities'), moment = require('moment');
function Model(dbsettings) {
this.dbsettings = dbsettings;
this.connection = "";
}
Model.prototype.addCategory = function(category) {
this.connection.insert('category', {
parent_id: 0,
top: 0,
column: 1,
sort_order: 1,
status: 1,
date_modified: moment().format("YYYY-MM-DD HH:mm:ss"),
date_added: moment().format("YYYY-MM-DD HH:mm:ss")
}, function(err, recordId) {
this.connection.insert('oc_category_description', {
category_id: recordId,
language_id: 1,
name: category.name,
meta_keyword: category.meta_keyword,
meta_description: category.meta_description,
description: category.description
}, function(err, recordId) {
console.dir({insert:recordId});
});
});
};
Model.prototype.connect = function(){
this.connection = mysql.createConnection(this.dbsettings);
mysqlUtilities.upgrade(this.connection);
// Mix-in for Introspection Methods
mysqlUtilities.introspection(this.connection);
this.connection.connect(function(err) {
if(err) {
console.log('error when connecting to db:', err);
setTimeout(this.connect, 2000);
}
});
this.connection.on('error', function(err) {
console.log('db error', err);
if(err.code === 'PROTOCOL_CONNECTION_LOST') {
this.connect();
} else {
throw err;
}
});
}
module.exports = Model;
APP.js中的
var Model = require('./model.js');
var model = new Model(db_config);
model.addCategory({name: "piudoraska!", meta_keyword: "pdp dpd pd ", meta_description: "ddddddd", description: "category!!"});
如何在module.exports中要求模块(mysql,mysqlUtilities等..)?
我有错误
> G:\Files\nodejs\node_tiu\model.js:9
> this.connection.insert('category', {
> ^ TypeError: Object has no method 'insert'
> at Model.addCategory (G:\Files\nodejs\node_tiu\model.js:9:18)
> at Object.<anonymous> (G:\Files\nodejs\node_tiu\app.js:17:10)
> at Module._compile (module.js:456:26)
> at Object.Module._extensions..js (module.js:474:10)
> at Module.load (module.js:356:32)
> at Function.Module._load (module.js:312:12)
> at Function.Module.runMain (module.js:497:10)
> at startup (node.js:119:16)
...
... 。 。 。 。 。 。 。 。
。 。 。
。 。 。 。 。 。 。
。 。 。 .................................................. ...................