【发布时间】:2014-08-14 08:57:04
【问题描述】:
我使用主干,需要在问题和类别中嵌套问题的答案。 我的问题是我从 MySQL 获得的数据。
我想要一个可以轻松与主干一起使用的数组,从顶部开始(类别)并嵌套到底部(答案)。
[Category1: [Question1: [Answer1: {...} ] ] ]
我使用以下查询来获取我的所有 MySQL 数据:
var getRecord = function(callback) {
var options = {
sql: 'SELECT * FROM Categories ' +
'LEFT JOIN Questions ON Categories.idCategories = Questions.idCategory ' +
'LEFT JOIN Answers ON Questions.idQuestions = Answers.idQuestion ',
nestTables: true
}
req.app.sql.query(options, function(err, result) {
if (err)
return callback(err, null)
outcome.record = result
return callback(null, 'done')
})
}
输出看起来像这样:
[
0: [CategoryObj, QuestionObj, AnswerObj]
1: ...
]
MySQL 节点包不嵌套 1:n 关系,而是创建一个具有大多数匹配长度的数组,所以在这种情况下,我有 2 个类别,每两个问题,每两个答案 -> 数组长度为8,因为我总共有 8 个答案。 但是我不能在不编写疯狂循环和技巧的情况下将这个数组嵌套在主干集合中。
我在查询中做错了什么还是有一个包可以完成解析工作?
(我习惯了 MongoDB(使用嵌入式文档很容易),现在我必须在这个项目中使用 MySQL..)
【问题讨论】:
-
请附上json编码的输出
-
@Evgeniy json 编码输出是什么意思?第三个例子正是我得到的。
标签: mysql node.js backbone.js express node-mysql