我的问题是,我定义了一个基本/父架构和 3 个子架构,但我只得到
<块引用>没有与此调用匹配的过载
这是我的架构
import { model, Schema } from 'mongoose';
export interface IBaseCriteria {}
const baseOptions = {
discrimatorKey: 'itemType',
collection: 'criterias',
};
const baseCriteriaSchema = new Schema<IBaseCriteria>({
baseOptions,
});
export default model<IBaseCriteria>('BaseCriteria', baseCriteriaSchema);
import { model, Schema } from "mongoose";
import BaseCriteria from "./baseCriteria.model";
export interface IDateCriteria {
after: Date;
before: Date;
}
const dateCriteria = BaseCriteria.discriminator(
"date",
new Schema({
after: { type: Date },
before: { type: Date },
})
);
export default model("DateCriteria", dateCriteria);
我做错了什么?
答案 0 :(得分:0)
.discriminator
返回一个模型。所以你不需要创建模型。
您的 dateCriteria
已经是模特了。
只需导出使用:
export default dateCriteria
查看鉴别器文档:https://mongoosejs.com/docs/discriminators.html
<块引用>它返回一个模型,其架构是基本架构和鉴别器架构的并集。