如何从Tabel Knex.js选择查询中删除__table

时间:2018-08-08 06:20:38

标签: node.js knex.js

如何从Tabel __table中删除Knex.js select query

select查询返回我查询的所有数据+ __table,但如何删除__table

我的选择查询

table('TestSeriesModes').select('ID', 'Name', 'IsActive', 'IsPhysicalInventory', 'Code').orderBy('ID', 'asc').all()

返回数据

{
    "__table": "TestSeriesModes",
    "ID": 1,
    "Name": "Online",
    "IsActive": true,
    "IsPhysicalInventory": true,
     "Code": "ON"
},
{
    "__table": "TestSeriesModes",
    "ID": 2,
    "Name": "Calling Tablet",
    "IsActive": true,
    "IsPhysicalInventory": true,
    "Code": "CALTAB"
 }

1 个答案:

答案 0 :(得分:1)

Knex甚至没有那个.all方法(至少在正式情况下)。看来您不是在这里直接使用knex。 Knex永远不会在您生成的行中添加您所描述的内容(称为__table的键)。完整的复制案例会很有用,因为现在该帖子没有足够的代码显示出来,无法分辨出问题所在。

要回答查询,例如,您可以直接使用knex来获得没有该键的结果。也许您正在使用一些ORM,它添加了它或其他一些库。

删除它的另一种方法是将其从结果中过滤掉,例如通过执行以下操作:

const filteredResults = results.map(res => {
    delete res.__table;
});

或者使用ramda / lodash之类的库从生成的对象中过滤掉多余的键。