如何从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"
}
答案 0 :(得分:1)
Knex甚至没有那个.all方法(至少在正式情况下)。看来您不是在这里直接使用knex。 Knex永远不会在您生成的行中添加您所描述的内容(称为__table的键)。完整的复制案例会很有用,因为现在该帖子没有足够的代码显示出来,无法分辨出问题所在。
要回答查询,例如,您可以直接使用knex来获得没有该键的结果。也许您正在使用一些ORM,它添加了它或其他一些库。
删除它的另一种方法是将其从结果中过滤掉,例如通过执行以下操作:
const filteredResults = results.map(res => {
delete res.__table;
});
或者使用ramda / lodash之类的库从生成的对象中过滤掉多余的键。