如何使用自定义属性描述多到多个GrhapQl关系的架构?
嗨,伙计们!我有以下表格:
+-------------+--------------+----------------------------+
| Product |
+-------------+--------------+----------------------------+
| id | int(11) | PRIMARY KEY AUTO_INCREMENT |
| name | varchar(255) | |
+-------------+--------------+----------------------------+
+-------------+--------------+----------------------------+
| Nutrient |
+-------------+--------------+----------------------------+
| id | int(11) | PRIMARY KEY AUTO_INCREMENT |
| name | varchar(255) | |
| unit | varchar(255) | |
| alias | varchar(255) | |
+-------------+--------------+----------------------------+
+-------------+--------------+----------------------------+
| Product_To_Nutrient |
+-------------+--------------+----------------------------+
| nutrientId | int(11) | PRIMARY KEY FOREIGN KEY |
| productId | int(11) | PRIMARY KEY FOREIGN KEY |
| amount | int(11) | |
+-------------+--------------+----------------------------+为了获得营养,我用数据采集器。
我如何描述我的模式,以便我可以运行以下查询并获得每种养分的数量?或者我需要重建我的数据库,如果是的话,哪种架构是最优的?谢谢你的建议:)
query Product {
getProducts {
id,
name,
nutrients: {
name,
unit,
alias,
AMOUNT
}
}我的堆栈: TypeOrm,TypeGraphQL,MicroOrm,NodeJs。
发布于 2022-06-09 16:43:25
Product_To_Nutrient表重命名为ingredients (为了方便起见)unit属性从nutritient移到您的ingredient中,因为了解units中的quantity很重要。(在当前情况下,如果您需要更新unit,还必须使用该nutritient更新所有ingredients。使用GraphQL查询时,您必须通过ingredients完成
query Product {
getProducts {
id,
name,
ingredients: {
nutrient: {
id,
name,
alias
},
quantity,
unit
}
}
}要加载ingredient,在查询产品时,可以使其为一段“热切的”关系。
使用Dataloader加载链接到ingredient的所有nutrients。
https://stackoverflow.com/questions/72555752
复制相似问题