如何从表 Knex.js select 查询中删除 __table

How to remove __table from Tabel Knex.js select query

如何从 Tabel Knex.js select query.

中删除 __table

select 查询 returns 我查询的所有数据 +__table 但我如何删除 __table.

我的select查询

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"
 }

Knex 甚至没有那个 .all 方法(至少官方是这样)。看起来你没有在这里直接使用 knex 。 Knex 永远不会向结果行添加您所描述的任何内容(名为 __table 的键)。完整的复制案例会很有用,因为现在 post 没有显示足够的代码来判断它有什么问题。

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

删除它的其他方法是之后将其从结果中过滤掉,例如:

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

或者使用像 ramda / lodash 这样的库从结果对象中过滤额外的键。