我有一个看起来像这样的 schema.graphqls:
type House {
id: ID!
rooms: Int!
address: String!
owner: Owner
}
type Owner: {
name: String!,
age: Int!
}
和一个补充的猫鼬模式:
export default class House {
static schema = {
rooms: Number
address: String,
owner: {
type : {
name: String,
age: Number
},
required: false
}
};
}
我的 mongodb 中有一个像这样的对象(通知所有者故意丢失):
ObjectId("xxx") {
rooms: 3,
address: "the street"
}
我正在尝试检索此文档,但缺少所有者子文档(这很好,它不是强制性的)。猫鼬结果用未定义的属性填充了这个缺失的子文档,
ObjectId("xxx") {
rooms: 3,
address: "the street"
owner : {
name: undefined
age: undefined
}
模式验证失败(因为确实名称和年龄是强制性的,如果子文档存在)。
我得到的实际错误是:
Resolve function for "House.owner" returned undefined
你能指出我在这里做错了什么吗?
提前致谢