首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >从Mysql创建JSON响应的更明智的方法

从Mysql创建JSON响应的更明智的方法
EN

Stack Overflow用户
提问于 2014-05-27 05:58:37
回答 1查看 98关注 0票数 0

我的Node.js服务器端有以下代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[
    {
        "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"
            }
        ]
    }
]

这是数据:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
   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,但是否有更明智、更快的方法来做到这一点呢?

提前感谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-28 00:01:34

试试MongoDB数据库(mongodb.org) .MongoDB是nosql文档数据库,它很容易解决这样的问题。还有一点。MongoDB是nodejs的默认数据库。它适用于javascript查询。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23891496

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文