我的Node.js服务器端有以下代码:
var mysql = require('mysql');
var connection = mysql.createConnection({ host: 'localhost', user: 'SOMEUSER',
password: 'SOMEPASSWD', database: 'SOMEDB'});
exports.all = function(req, res){
if (connection) {
connection.query('SELECT * FROM planing GROUP BY linea, fecha, turno ORDER BY linea, fecha, turno;', function(err, rows, fields) {
if (err) throw err;
var datuak = [];
console.log(rows);
for(var i = 0, l = rows.length; i < l; i++) {
//iterate row array to generate needed JSON format?
}
res.contentType('application/json');
res.write(JSON.stringify(datuak));
res.end();
});
}
};
这个查询,我需要生成这个JSON:
[
{
"linea": 1,
"egunak": [
{
"fetxa": "2014/05/26",
"turnoak": [
{
"turno": 1,
"ordenes": [
{
"ref": "3CI00001"
},
{
"of": "OF000013"
}
]
},
{
"turno": 2,
"ordenes": [
{
"ref": "3CI00001"
},
{
"of": 112233
},
{
"ref": "3CI00001"
}
]
},
{
"turno": 3,
"ordenes": [
{
"ref": "3CI00001"
}
]
}
]
},
{
"fetxa": "2014/05/27"
},
{
"fetxa": "2014/05/28",
"turnoak": [
{
"turno": 1,
"ordenes": [
{
"ref": "3CI00001"
},
{
"of": "OF200013"
}
]
},
{
"turno": 2,
"ordenes": [
{
"ref": "3CI00001"
},
{
"of": "OF232233"
},
{
"of": "OF289977"
}
]
},
{
"turno": 3,
"ordenes": [
{
"ref": "3CI00001"
},
{
"of": "OF200000"
},
{
"ref": "3CI00001"
},
{
"of": "OF200000"
},
{
"ref": "3CI00001"
}
]
}
]
},
{
"fetxa": "2014/05/29"
},
{
"fetxa": "2014/05/30"
},
{
"fetxa": "2014/05/31"
},
{
"fetxa": "2014/06/01"
}
]
},
{
"linea": 2,
"egunak": [
{
"fetxa": "2014/05/26"
},
{
"fetxa": "2014/05/27",
"turnoak": [
{
"turno": 1,
"ordenes": [
{
"ref": "3CI00002"
},
{
"of": "2OF000013"
}
]
},
{
"turno": 2,
"ordenes": [
{
"ref": "3CI00001"
},
{
"of": "2OF2233"
},
{
"ref": "3CI00001"
}
]
},
{
"turno": 3,
"ordenes": [
{
"ref": "3CI00001"
}
]
}
]
},
{
"fetxa": "2014/05/28"
},
{
"fetxa": "2014/05/29",
"turnoak": [
{
"turno": 1,
"ordenes": [
{
"ref": "3CI00001"
},
{
"of": "2OF200013"
}
]
},
{
"turno": 2,
"ordenes": [
{
"ref": "3CI00001"
},
{
"of": "2OF232233"
},
{
"ref": "3CI00001"
}
]
},
{
"turno": 3,
"ordenes": [
{
"ref": "3CI00001"
},
{
"of": "2OF200000"
},
{
"ref": "3CI00001"
},
{
"of": "2OF200000"
},
{
"ref": "3CI00001"
}
]
}
]
},
{
"fetxa": "2014/05/30"
},
{
"fetxa": "2014/05/31"
},
{
"fetxa": "2014/06/01"
}
]
}
]
这是数据:
id linea fecha turno ref of
3 1 2014-05-26 1 3CI00001 OF000013
4 1 2014-05-26 2 3CI00001 112233
6 1 2014-05-26 3 3CI00001
7 1 2014-05-27 NULL
8 1 2014-05-28 1 3CI00001 OF200013
9 1 2014-05-28 2 3CI00001 OF232233
11 1 2014-05-28 3 3CI00001 OF200000
14 1 2014-05-29 NULL
15 1 2014-05-30 NULL
16 1 2014-05-31 NULL
17 1 2014-06-01 NULL
18 2 2014-05-26 NULL
19 2 2014-05-27 1 3CI00001 2OF000013
20 2 2014-05-27 2 3CI00001 2OF2233
22 2 2014-05-27 3 3CI00001
23 2 2014-05-28 NULL
24 2 2014-05-29 1 3CI00001 2OF200013
25 2 2014-05-29 2 3CI00001 2OF200013
27 2 2014-05-29 3 3CI00001 2OF200000
30 2 2014-05-30 NULL
31 2 2014-05-31 NULL
32 2 2014-06-01 NULL
我正在考虑对行进行迭代,并使用if语句生成多个数组女巫,我将将其转换为JSON,但是否有更明智、更快的方法来做到这一点呢?
提前感谢
发布于 2014-05-28 00:01:34
试试MongoDB数据库(mongodb.org) .MongoDB是nosql文档数据库,它很容易解决这样的问题。还有一点。MongoDB是nodejs的默认数据库。它适用于javascript查询。
https://stackoverflow.com/questions/23891496
复制相似问题