在 knex 查询中的 ts 泛型中显示错误 [symbol.iterator()]

问题描述 投票:0回答:1
const [user]: T = await db("users").select("*").returning("*");
// error:Type 'T' must have a '[Symbol.iterator]()' method that returns an iterator.

当我尝试在 knex 查询中使用括号从数组返回单个对象时,我的 knex 查询打字稿给我错误。有人可以帮助我理解为什么它会向我显示此错误,即使我传递了特定的泛型类型并且“用户”变量正在存储由类型指定的单个对象。是否有任何通过它的过程,我也尝试使用 .first() 而不是方括号,但它显示了不同的错误。

const user: T = await db("users").select("*").first().returning("*");

//error: Type 'any[]' is not assignable to type 'T'.
//  'T' could be instantiated with an arbitrary type which could be unrelated to 'any[]'.

javascript node.js typescript types knex.js
1个回答
0
投票

简单地做:

const user: T = await db("users").select("*").first();

.returning()
用于插入、更新和删除,而不是选择。

© www.soinside.com 2019 - 2024. All rights reserved.