我正在制作一个简单的泛型类来执行CRUD操作
import * as mongoDB from 'mongodb';
class MongoStore<T extends Item> {
collection: mongoDB.Collection<T>;
...
async insert(x: T): Proimse<void> {
await this.collection.insertOne(x);
}
}
字符串
在插入时获取此类型错误
Argument of type 'T' is not assignable to parameter of type 'OptionalUnlessRequiredId<T>'.
Type 'Item' is not assignable to type 'OptionalUnlessRequiredId<T>'.ts(2345)
型
看到错误消息后,我假设这是因为mongodb驱动程序试图处理_id
的情况。找不到任何解决方法,只能使用任何。
await this.collection.insertOne(x as any);
型
有没有什么方法可以让这个工作不使用任何或我错过了什么?
1条答案
按热度按时间66bbxpm51#
让我们看看
insertOne()
方法的签名:字符串
所以
MongoStore
类的泛型参数T
可以等价于TSchema
。型
Playground链接