Parent 只是 GraphQL 解析器中的 ID
Parent is only ID in GraphQL resolver
所以我有一个关系型 mongo 数据库,看起来像这样
Location {
_id: ...
shopIDs: <List of Shop IDs in another collection>
}
Shops {
_id: ...
...
}
此外,我已经准备好我的 GraphQL 设置和架构。但是要获得像
这样的查询
locations {
shops {
name
}
}
我需要创建另一个将 shopIDs 字段连接到商店集合的解析器,对吗?
所以我做了类似的事情:
Location: {
shopIDs: async ({ shopIDs }, args, context) => {
return await Shop.find({ _id: { $in: shopIDs } });
}
},
但是 shopIDs 未定义,当我控制台记录父对象时,它只是父对象的 ID。
现在我的问题是:我真的必须再次查找带有 mongoose 的父级才能获得 ShopIDs 吗?
我还没有找到任何相关的问题,所以我希望这还没有得到回答。
谢谢!
我不完全确定为什么,但问题已解决。
第一个参数定义为父级,因此您可以从那里访问 ID 并可以查找子级,而无需再次查找父级。
如果 Child ID 未定义,则可能是由 mongoose 模型本身引起的。因此,如果您有类似的问题:仔细检查您的架构并确保该字段已实际定义。
所以我有一个关系型 mongo 数据库,看起来像这样
Location {
_id: ...
shopIDs: <List of Shop IDs in another collection>
}
Shops {
_id: ...
...
}
此外,我已经准备好我的 GraphQL 设置和架构。但是要获得像
这样的查询locations {
shops {
name
}
}
我需要创建另一个将 shopIDs 字段连接到商店集合的解析器,对吗?
所以我做了类似的事情:
Location: {
shopIDs: async ({ shopIDs }, args, context) => {
return await Shop.find({ _id: { $in: shopIDs } });
}
},
但是 shopIDs 未定义,当我控制台记录父对象时,它只是父对象的 ID。 现在我的问题是:我真的必须再次查找带有 mongoose 的父级才能获得 ShopIDs 吗? 我还没有找到任何相关的问题,所以我希望这还没有得到回答。 谢谢!
我不完全确定为什么,但问题已解决。 第一个参数定义为父级,因此您可以从那里访问 ID 并可以查找子级,而无需再次查找父级。 如果 Child ID 未定义,则可能是由 mongoose 模型本身引起的。因此,如果您有类似的问题:仔细检查您的架构并确保该字段已实际定义。