Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带有Mysql和Nodejs的嵌套JSON对象_Mysql_Node.js_Json - Fatal编程技术网

带有Mysql和Nodejs的嵌套JSON对象

带有Mysql和Nodejs的嵌套JSON对象,mysql,node.js,json,Mysql,Node.js,Json,我的目的是在JSON对象数组中检索包含相关页面的页面节列表 例如: [ { "sectionid": "value1", "sectiondescription": "value1", "pages": [ { "pageid": "id1", "pagedescription": "desription1", },

我的目的是在JSON对象数组中检索包含相关页面的页面节列表

例如:

[
    {
        "sectionid": "value1",
        "sectiondescription": "value1",
        "pages": [
            {
                "pageid": "id1",
                "pagedescription": "desription1",
            },
            {
                "pageid": "id2",
                "pagedescription": "desription2",
            }
        ]
    },
    {
        "sectionid": "value2",
        "sectiondescription": "value2",
        "pages": [
            {
                "pageid": "id3",
                "pagedescription": "desription3",
            },
            {
                "pageid": "id4",
                "pagedescription": "desription4",
            }
        ]
    }
]
我正在使用Nodejs和Mysql

我使用下面的mysql查询检索为给定用户角色启用的部分:

SELECT section.SectionId,section.Description
FROM section as section
INNER JOIN userroletosection AS urts
    ON section.SectionId = urts.SectionID
INNER JOIN user AS user
    ON user.RoleID = urts.UserRoleID
WHERE
    user.UserId = 1
此查询用于检索给定节的页面:

SELECT p.PageID,p.Description,p.URL
FROM page AS p
INNER JOIN sectiontopage AS stp
    ON p.PageID = stp.PageID
WHERE
    stp.SectionID = ?
我需要知道如何使用循环运行查询,以及如何使用nodejs和mysql构建Json数组对象

这里我附上了nodejs代码

conn.query('SELECT*From section as section internal JOIN userroletossection as urts ON section.SectionId=urts.SectionId internal JOIN user as ON user.RoleID=urts.UserRoleID WHERE user.UserId=1',(err,rows,fileds)=>{

if(!err)
{
对于(变量i=0;i{
如果(!err2)
{

对于(var j=0;j您必须使用MySQL JSON函数才能访问JSON文档中的项目,例如JSON_EXTRACT和JSON_CONTAINS

您是否可以放置nodejs代码以查看您做错了什么?
if(!err)
{

  for (var i = 0;i < rows.length; i++) {

    conn.query('SELECT p.PageID,p.Description,p.URL FROM page AS p INNER JOIN sectiontopage AS stp ON p.PageID = stp.PageID    WHERE stp.SectionID = ?',[rows[i].SectionId],(err2,rows2,fileds)=>{
      if(!err2)
     {

      for(var j =0; j<rows2.length;j++)
      {
        obj2.push({ PID: JSON.stringify(rows2[j].PageID),
          PageID: rows2[j].PageID,
          PageDescription: rows2[j].Description,
          PageUrl: rows2[j].URL
        })


      }


        console.log(obj2);

    }
    })
    {
       objs.push({ID: JSON.stringify(rows[i].SectionId),
          ID: rows[i].SectionId,
          sectionDesciption: rows[i].Description,
          Pages: obj2
        });
    }


  }