我必须像这样使用todo的mongo模式:
const todoSchema = new Schema(
{
userId: { type: String, required: true },
title: { type: String, required: true },
due_date: {
date: { type: Number },
month: { type: Number },
year: { type: Number },
hours: { type: Number },
minute: { type: Number },
},
status: { type: String, required: true},
},
{ timestamps: true }
);
我想创建graphql schema,所以我这样做了:
const Todo = new GraphQLObjectType({
name: "Todo",
fields: () => ({
_id: { type: GraphQLID },
userId: { type: GraphQLString },
title: { type: GraphQLString },
due_date: { type: GraphQLString },
status: { type: GraphQLString },
})
});
所以我的问题是什么是正确的类型的到期日?在mongo中,我将它定义为一个对象,那么我如何在graphql模式中将due_date定义为一个对象呢?
1条答案
按热度按时间tcbh2hod1#
我的建议是根据您的具体需要使用graphql-scalars包中的DateTime或Date类型。
此外,在GraphQL模型中,外键很少包含在类型中。而是直接对类型进行引用。
如果
status
来自一个有限值列表,那么你需要为它定义一个enum
,然后引用这个枚举。