Доступ к элементу Json с именем '' (подзапрос mysql nodejs) - PullRequest
0 голосов
/ 21 января 2019

Я работаю в бэкэнде с NodeJS и Mysql, все хорошо, но недавно я столкнулся с небольшими деталями, где я застрял с тех пор, как добавил SUBQUERY.

Это запрос Mysql:

var GetHistoryPayments = function(code){
        var query = "SELECT DISTINCT students.student_code, " +
                        "acc.id, " + 
                        "acc.StudentCode, " + 
                        "acc.DocumentDate1, " + 
                        "acc.DocEntry, " + 
                        "acc.DocumentNumber1, " + 
                        "acc.DocTotal1, " + 
                        "acc.GrosProfit, " + 
                        "acc.SumApplied, " + 
                        "acc.DocumentDate2, " + 
                        "acc.DocumentNumber2, " + 
                        "acc.DiffDocTotalPaidToDate as total_pay, " +  
                        "acc.LicTradNum, " + 
                        "acc.created_at, " + 
                        "acc.updated_at, " +
                        "(SELECT COUNT(*) FROM sap_accounting_state aa WHERE aa.DocumentNumber1 = acc.DocumentNumber1 and aa.tipo like 'Nota%' and aa.SumApplied > 0 ) as credit_notes " +
                    "FROM sap_accounting_state_students students INNER JOIN sap_accounting_state acc ON students.student_code = acc.StudentCode " +
                    "WHERE  acc.DiffDocTotalPaidToDate = 0 " +
                            "and acc.Orden = 1 " +
                            "and acc.DocumentDate1 > '2018-06-01' " +
                            "and acc.StudentCode = '" + code + "' " +

                    "GROUP BY acc.DocumentNumber1 " +

                    "ORDER BY acc.DocumentDate1 desc";
        return query;
    }

Возвращенный массив объектов в порядке, но объект SUBQUERY действительно странный, он возвращается с пустым именем ('': { credit_notes: 0 }).Я предполагаю, что SUBQUERY создает новый объект с известным именем.¿Как получить доступ к элементу '' json ?, как можно добавить имя SUBQuery, например: 'sub': { credit_notes: 0 } ?.

Спасибо.

[ RowDataPacket {
    students: { student_code: '18018' },
    acc:
     { id: 3836,
       StudentCode: '18018',
       DocumentDate1: 2019-01-01T05:00:00.000Z,
       DocEntry: 74998,
       DocumentNumber1: 10042438,
       DocTotal1: 1839017,
       GrosProfit: 1839017,
       SumApplied: 0,
       DocumentDate2: null,
       DocumentNumber2: 0,
       total_pay: 0,
       LicTradNum: '79593354',
       created_at: 2019-01-18T19:48:23.000Z,
       updated_at: 2019-01-18T19:48:23.000Z },
    '': { credit_notes: 0 } },
  RowDataPacket {
    students: { student_code: '18018' },
    acc:
     { id: 3842,
       StudentCode: '18018',
       DocumentDate1: 2018-12-06T05:00:00.000Z,
       DocEntry: 72048,
       DocumentNumber1: 10039576,
       DocTotal1: 346500,
       GrosProfit: 346500,
       SumApplied: 0,
       DocumentDate2: null,
       DocumentNumber2: 0,
       total_pay: 0,
       LicTradNum: '79593354',
       created_at: 2019-01-18T19:48:23.000Z,
       updated_at: 2019-01-18T19:48:23.000Z },
    '': { credit_notes: 1 } } ... ]

1 Ответ

0 голосов
/ 21 января 2019

Просто возьмите скобки как свойство accessor .

var item = { '': 'foo' };

console.log(item['']);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...