Это ограничение API (и самого плагина X) и побочный продукт того факта, что выражения CRUD поддерживают альтернативный синтаксис, такой как IN [41, 42, 43]
. Прямо сейчас, единственный способ сделать то, что вы хотите, - это чтобы сам оператор SQL содержал заполнители для всех этих идентификаторов:
const sqlStr = `SELECT * FROM table where id IN (?, ?, ?)
await session.sql(sqlStr).bind(41, 42, 43).execute()
Конечно, это не работает, если вам нужен динамик c количество элементов в критериях фильтрации. В этом случае вы можете прибегнуть к чему-то вроде:
const ids = [41, 42, 43]
const sqlStr = `SELECT * FROM table where id IN (${ids.map(() => '?').join(',')})`
await session.sql(sqlStr).bind(ids).execute()
Это, вероятно, немного запутанно, но это самый умный обходной путь, который я могу себе представить на данный момент.
А пока, может быть, Вы можете открыть отчет об ошибке в https://bugs.mysql.com/, используя категорию Connector for Node.js
.
Отказ от ответственности: я ведущий разработчик MySQL X DevAPI Connector для Node.js