Knex的whereIn在传递对象数组时表现为whereNotIn,这是预期的行为吗?


validos = [{equipamento: 'OM908002'}];
knex.showtecsystem('contratos_veiculos')
.select(['equipamento', 'uso_tornozeleira'])
.whereIn('equipamento', validos)

在这个查询中,whereIn实际上返回了预期从whereNotIn得到的内容。作为在字符串数组中传递对象数组的结果。

这真的是有意为之吗?事实上,它导致了一个错误的更新,除了我不打算修改的行之外,其他行都被修改了(这可能是一个巨大的麻烦),而且我没有在API的文档中看到它被披露。

您将[{equipamento: 'OM908002'}]传递给.whereIn('equipamento', validos),而本应传递['OM908002']

最新更新