Проблема в том, что вы просто отправляете неверное количество аргументов при вызове функции.
Функция принимает четыре входа: columns, returnColumns, type, callback
.Но в вашем примере вы отправляете пять входных данных: req.body.entities, conditions, returnColumns, type, function (err, products)
Последний (в данном случае функция) поэтому игнорируется.Значение, которое функция получает как значение callback
, фактически является именем, которое вы назвали type
, когда вызываете функцию, потому что это четвертый аргумент, который вы предоставляете.Это значение не является исполняемой функцией, о чем говорит сообщение об ошибке.
Теперь я не знаю, какие значения вам действительно нужны / которые нужно отправить в функцию, но одно из следующих:они избыточны, и вам нужно удалить их из вызывающего кода.Основываясь исключительно на именах, я бы предположил, что один из req.body.entities
или conditions
не нужен, но, конечно, я не вижу, что содержат эти переменные, и я не могу быть уверен в ваших намерениях, поэтомувам придется решить это самостоятельно.
PS Я также отмечаю, что ваша функция на самом деле никогда не использует параметры returnColumns
или type
, которые она получает, поэтому вам, возможно, следует подумать, действительно ли вынужно принять это на всех.Возможно, они могут быть удалены.