У меня есть дБ. js:
'use strict'
var datetime = new Date();
var app = require ('./app');
var port = 3800;
var mysql = require('mysql');
var connection = mysql.createConnection({
user:'myuser',
host:'127.0.0.1',
port:'3306',
password:'mypassword',
database:'mydatabase'
});
connection.connect(function(err){
if (err) throw err;
//crear servidor
app.listen(port, () => {
console.log("Listening on port " + port);
console.log(datetime.toISOString().slice(0,10)); //Print Date
});
console.log("Connected to MySQL!");
});
module.exports = connection;
Я импортирую приложение. js на моем основном дБ. js:
'use strict'
var express = require ('express');
var bodyParser = require ('body-parser');
var app = express();
// ** LOAD ROUTES
var datos_routes = require ('./routes/datos');
// ** middlewares
app.use(bodyParser.urlencoded({extended:true}));
app.use(bodyParser.json());
// ** CORS
app.use((req, res, next) => {
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Headers', 'Authorization, X-API-KEY, Origin, X-Requested-With, Content-Type, Accept, Access-Control-Allow-Request-Method');
res.header('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, DELETE');
res.header('Allow', 'GET, POST, OPTIONS, PUT, DELETE');
next();
});
// ** URL PREFIX
app.use('/api', datos_routes);
// ** EXPORT
module.exports = app;
Итак, мне нужно сделать запрос на моем контроллере контроллер. js:
'use strict'
var bcrypt = require('bcrypt-nodejs');
var jwt = require ('../middlewares/jwt');
var db = require('../db');
var secret = 'secret'; //password
// TESTER
function test_datos (req, res){
res.status(200).send({
message: "Test OK"
});
}
// INSERT DATA IN DATABASE
function save_data (req, res){
var sql = "INSERT INTO datos (value, owner) VALUES ('32', 'Mike')";
db.query(sql, function (err, result) {
if (err) throw err;
console.log("Registred");
});
return res.status(200).send({response: "ok"});
}
module.exports = {
test_datos,
save_data
}
Но когда я отправляю запрос в мой API, я получаю:
Ошибка типа: db.query не является функцией.
Я думаю, это потому, что контроллер. js не импортирует соединение, сделанное в дБ. js:
var connection = mysql.createConnection({
user:'myuser',
host:'127.0.0.1',
port:'3306',
password:'mypassword',
database:'mydatabase'
});
Итак, как мне поделиться этой связью на контроллер. js?