@ types / mongoose如何用ref键入ObjectIds

时间:2017-07-26 20:28:04

标签: node.js typescript mongoose definitelytyped

使用Typescript和mongoose,我希望能够使用我的自定义模型类型。但是,我还没有找到一个模型的示例,该模型使用{ "message": "Success", "obj": { "_id": "596925d7ccf72260bc37a0df", "firstName": "Test2" } } ref为另一个文档键入属性。我正试图弄清楚如何做到目前为止还没有成功。

这就是我希望我的模型界面看起来像:

Schema.Types.ObjectId

当我在我的代码中实现此模型时,无论我如何键入import { Document, Schema, model, Model } from 'mongoose' import ObjectId = Schema.Types.ObjectId export interface ITask extends Document { description: string isActive: boolean children: ObjectId[] | ITask[] // <-- any[] works but limits typing } export const UserSchema: Schema = new Schema({ description: String, isActive: Boolean, children: [{ type: ObjectId, ref: 'Tasks' }] }, { collection: 'Tasks' }) export const Task: Model<ITask> = model<ITask>('Task', TaskSchema) (当然除了interface),Typescript都会抛出类型错误:

any

Mongoose将代码中的ObjectId类型作为其id的字符串或完全填充的对象处理。我希望能够同时期待这两种情况,但是这个特定的实例似乎并不喜欢那些。

0 个答案:

没有答案