node-querybuilder возвращает сообщение об ошибке, несмотря на предоставление данных - PullRequest
0 голосов
/ 25 мая 2018

Я использую node-querybuilder для обновления данных в пакетном режиме.

Это то, что я делаю.

const key = 'tripId';
const where = {'tripId =' : id}

const dataset= 
[   { studentId: 43 }, 
    { studentId: 42 } 
];


db.queryBuilder.update_batch('trip_students_booking', dataset, key, where, (err, res) => {
    if (err) return console.error(err);

});

В ответ я получаю это сообщение об ошибке от node-querybuilder

Ошибка: update_batch (): вынеобходимо предоставить некоторые данные для пакетного обновления!

1 Ответ

0 голосов
/ 28 мая 2018

Прежде всего, я бы хотел порекомендовать вам избегать https://www.npmjs.com/package/node-querybuilder#update_batch, так как эта библиотека не готова к работе и содержит ошибки (я создал запрос на извлечение https://github.com/kylefarris/node-querybuilder/pull/24).Вы можете посмотреть http://knexjs.org.

Если вы хотите продолжить, вам нужно передать Key в объекте dataset.В документации

Имя ключа в каждом объекте данных, представляющего предложение where.

и ключ индекса, требуемый, в то время как, где условие необязательно, ваш код должен быть похож на

const key = 'tripId';

let dataset = [{
        tripId: id,
        studentId: 43
    },
    {
        tripId: id,
        studentId: 42
    }
];


db.queryBuilder.update_batch('trip_students_booking', dataset, key, (err, res) => {
    if (err && err.length > 0) return console.error(err);

});

Если вы хотите попробовать, прежде чем объединять и публиковать новое обновление модуля, вы можете попытаться обновить строку с номером 143 с const results = null; до let results = null; в файле ./node_modules/node-querybuilder/drivers/mysql/query_builder.js Надеюсь, это будет вам

...