节点MYSQL如何在自己的对象中获得联接表?

达齐克

我目前正在使用此SQL查询:

var sqlQuery = `
    SELECT user.ID, user.email, user.first_name, user.last_name,
    user.address1, user.address2, user.country, user.gender, chars.sID, chars.name,
    chars.experience, chars.locked  
    FROM subscriber AS user 
    LEFT JOIN chars on user.ID = chars.sID
    WHERE user.ID = ?
`;

哪个工作正常,我得到这种风格的结果:

RowDataPacket {
[1]     ID: 13,
[1]     email: '[email protected]',
[1]     first_name: null,
[1]     last_name: null,
[1]     address1: null,
[1]     address2: null,
[1]     country: null,
[1]     gender: null,
[1]     sID: 13,
[1]     name: 'CharName',
[1]     experience: 0,
[1]     locked: 'N' }

唯一的问题是我chars在数据库中的每一个都得到该结果,我只需要一次订阅者,然后我需要很多chars

但是我怎么得到它,所以我最终得到类似

RowDataPacket {
    field: blah,
    field: blah,
    charData: {
        name: 'CharName',
        locked: 'N'
    }
}

我希望加入的数据在其自己的对象中。任何信息将非常感谢。

阿米纳达夫(Aminadav Glickshtein)

MySql总是返回原始数组。如果您想要类似的内容,则需要将其格式化为所需的格式。有一些库可以帮助您喜欢lodash,但是这不是一件难事

您可以通过result遍历数组中的所有行并将其添加到另一个对象来解决该问题,另一个对象将具有订阅者电子邮件和charsData数组的键。

例如:

 result={
    'subscriber1@gmail:{
        'field: blah,
        field: blah,
        charsData: [{
            name: 'CharName',
            locked: 'N'
            },{
                name: 'CharName2',
                locked: 'l'
        }]
    },
    'subsriber2@yahoo':{
        Another Subscriber
    }
}

代码:

var result={}
var input=YourArrayFromMySQL

for(var i=0;i<input.length;i++){
    var thisLine=input[i]

    //Copy the char to new variable
    var thisChar=   {
            name:thisLine.name,
            locked:thisLine.locked
                }

    //Delete the char from the subscribe line               
    delete thisLine.name
    delete thisLine.locked

    //If this subscriber not exsists in the result, create it, with empty array
    if(!result[thisLine.email]){
        result[thisLine.email]=thisLine
        result[thisLine.email].charsData=[]
    }

    // Add to the matching subscriber the char
    result[thisLine.email].charsData.push(thisChar)
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在联接中或在rails中获得两个表的结果

来自分类Dev

如何在SQL Server中联接表以获得预期的结果

来自分类Dev

如何在Postgresql中透视联接表?

来自分类Dev

如何在cshtml中显示联接的表

来自分类Dev

如何在联接两个表时向SQL返回Linq中的匿名对象列表

来自分类Dev

如何在MySQL中使用空表联接表

来自分类Dev

如何在不重复节点MySQL中的密钥的情况下获得完整的JSON?

来自分类Dev

如何在PostgreSQL查询中以JSON形式获得联接结果?

来自分类Dev

如何在MongoDB中获得联接集合的计数?

来自分类Dev

如何在YII的CDbCriteria中获得联接属性?

来自分类Dev

我如何在没有任何联接的情况下优化大型MySQL表中的查询?

来自分类Dev

如何在MySQL中将表联接到排名的SELECT查询中?

来自分类Dev

如何在mysql中的同一张表上执行内部联接

来自分类Dev

MySQL-如何在左联接中为整个表数据添加别名

来自分类Dev

如何在TurnBasedMatch中获得自己的参与者ID?

来自分类Dev

如何从联接到左外部联接的表中获得计数?

来自分类Dev

如何在R中获得交叉表?

来自分类Dev

如何在MySQL中联接这两个表

来自分类Dev

如何在MYSQL查询中使用聚合函数联接表?

来自分类Dev

如何在MySQL表上使用内部联接?

来自分类Dev

如何在MySQL中联接这两个表

来自分类Dev

如何计算Django联接表中的对象数量?

来自分类Dev

MySQL查询获得的联接表B的数量小于表A中某些字段的值

来自分类Dev

如何在DataGridView中显示联接表中的信息

来自分类Dev

如何从MySQL中的联接表中获取孤儿

来自分类Dev

如何从mysql中的联接表中查找单行数据?

来自分类Dev

在“ php”中自联接两个表后,如何打印在表中获得的值?

来自分类Dev

如何在JavaFX中获得节点的绝对旋转

来自分类Dev

如何在JavaFX中获得节点的绝对旋转

Related 相关文章

  1. 1

    如何在联接中或在rails中获得两个表的结果

  2. 2

    如何在SQL Server中联接表以获得预期的结果

  3. 3

    如何在Postgresql中透视联接表?

  4. 4

    如何在cshtml中显示联接的表

  5. 5

    如何在联接两个表时向SQL返回Linq中的匿名对象列表

  6. 6

    如何在MySQL中使用空表联接表

  7. 7

    如何在不重复节点MySQL中的密钥的情况下获得完整的JSON?

  8. 8

    如何在PostgreSQL查询中以JSON形式获得联接结果?

  9. 9

    如何在MongoDB中获得联接集合的计数?

  10. 10

    如何在YII的CDbCriteria中获得联接属性?

  11. 11

    我如何在没有任何联接的情况下优化大型MySQL表中的查询?

  12. 12

    如何在MySQL中将表联接到排名的SELECT查询中?

  13. 13

    如何在mysql中的同一张表上执行内部联接

  14. 14

    MySQL-如何在左联接中为整个表数据添加别名

  15. 15

    如何在TurnBasedMatch中获得自己的参与者ID?

  16. 16

    如何从联接到左外部联接的表中获得计数?

  17. 17

    如何在R中获得交叉表?

  18. 18

    如何在MySQL中联接这两个表

  19. 19

    如何在MYSQL查询中使用聚合函数联接表?

  20. 20

    如何在MySQL表上使用内部联接?

  21. 21

    如何在MySQL中联接这两个表

  22. 22

    如何计算Django联接表中的对象数量?

  23. 23

    MySQL查询获得的联接表B的数量小于表A中某些字段的值

  24. 24

    如何在DataGridView中显示联接表中的信息

  25. 25

    如何从MySQL中的联接表中获取孤儿

  26. 26

    如何从mysql中的联接表中查找单行数据?

  27. 27

    在“ php”中自联接两个表后,如何打印在表中获得的值?

  28. 28

    如何在JavaFX中获得节点的绝对旋转

  29. 29

    如何在JavaFX中获得节点的绝对旋转

热门标签

归档