1
我是新來的node.js和express框架。我應該在哪裏進行數據庫查詢以及爲什麼我沒有收到查詢的結果?
任何人都可以告訴我,如果我正確地做到這一點?
我創建了一個database.js作爲一個模塊,代碼包含:
var mysql = require('mysql'),
dateFormat = require('dateformat'),
db = require('./dashboard');
var connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: '',
database: 'selenium',
timezone: '-07:00'
});
exports.selectalldate = function() {
connection.query('SELECT * FROM date', function (err, rows, fields) {
if (err) {
console.log(err);
}
if(rows.length > 0) {
for(i = 0; i < rows.length; i ++) {
rows[i].date = dateFormat(rows[i].date, "yyyy-mm-dd")
}
return rows;
} else {
return false;
}
});
}
我需要在我的app.js,當我打電話selectalldate()來獲取所有從日期數據庫在app.js中,看看結果如何。我弄不明白。我在這裏做錯了什麼?
var express = require('express')
, routes = require('./routes')
, user = require('./routes/user')
, http = require('http')
, path = require('path')
, fs = require('fs')
, file = __dirname + '/test2'
, get = require('./routes/get')
, db = require('./routes/database')
;
app.get('/dashboard', function(req, res) {
var datee = db.selectalldate();
console.log(datee);
res.render('dashboard', {title: 'Selenium Dashboard', date: datee});
});
感謝。我想我需要更多地瞭解異步和回調。我仍然對JavaScript不熟悉。我現在可以使用數據呈現模板。但是如果我想做一堆數據庫查詢,如果(!checkIfTodaysDateExists()){//插入今天的日期}然後將硒測試結果插入到數據庫中,該怎麼辦?如果我想要獲得所有硒測試結果getAllTestResults()並在模板中顯示數據怎麼辦? – yan
然後就可以使用一些流量控制庫了;很多人喜歡[異步](http://npmjs.org/package/async),我個人更喜歡[Q](https://npmjs.org/package/q)。這取決於你,都可以讓你控制這種情況。 – gustavohenke