使用typegoose
/mongoose
我可以获得这样的类的模型(Clip
将保存到数据库的类在哪里)
import { getModelForClass } from '@typegoose/typegoose';
...
const ClipModel = getModelForClass(Clip);
这个模型是可构造的,我的意思是我可以做到这一点;
const clip = new ClipModel()
const clip = new ClipModel({someProp: "someValue"})
问题
- 这怎么可能。如果我查看
getModelForClass
这里的返回类型,ReturnModelType<U, QueryHelpers>
那么类型如何具有构造函数?这和做的不一样吗?
const clip = new ReturnModelType<Clip, QueryHelpers>(); // Ts error: 'ReturnModelType' only refers to a type, but is being used as a value here.
- 如果可以构造 ClipModel,这是否意味着 ClipModel 是一个类?如果可以,应该可以做到这一点吗?
class MyCustomModel extends ClipModel {
// Add some customisations
}
但是,这会产生 ts 错误Base constructors must all have the same return type.
- 是否可以扩展 ClipModel 以在其上具有一些自定义功能,以便可以像这样调用它;
ClipModel.find({}) // the default created find method
ClipModel.myCustomFind({}) // find method with custom stuff
谢谢,