如何使用 MongoDB 在 Prisma ORM 中创建类别及其子类别
Posted
技术标签:
【中文标题】如何使用 MongoDB 在 Prisma ORM 中创建类别及其子类别【英文标题】:How to create Categories and its SubCategory in Prisma ORM using MongoDB 【发布时间】:2019-05-29 21:46:22 【问题描述】:type Category
id: ID! @id
name: String!
type SubCategoryLevel1
id: ID! @id
name: String!
parentCategory: Category! @relation(link: INLINE)
type SubCategoryLevel2
id: ID! @id
name: String!
parentCategory: SubCategoryLevel1! @relation(link: INLINE)
如果我的Category
级别没有确定怎么办,我正在使用Prisma ORM 和 MongoDB。
【问题讨论】:
【参考方案1】:不确定我是否正确理解了您的问题。您能否详细介绍一下您要做什么?
你是否在尝试任意建立深度嵌套的自我关系?然后你可以这样做:
type Category
id: ID! @id
name: String!
subCategory: Category @relation(name:"SubToParent"link: INLINE)
parentCategory: Category @relation(name: "SubToParent")
创建三个级别将适用于此查询:
mutation createCategory
createCategory(
data:
name: "firstLevel"
subCategory:
create:
name: "secondLevel"
subCategory: create: name: "thirdLevel"
)
name
查询类别会给你这样的回应:
query allCategories
categories
name
subCategory
name
parentCategory
name
"data":
"categories": [
"name": "firstLevel",
"subCategory":
"name": "secondLevel"
,
"parentCategory": null
,
"name": "secondLevel",
"subCategory":
"name": "thirdLevel"
,
"parentCategory":
"name": "firstLevel"
,
"name": "thirdLevel",
"subCategory": null,
"parentCategory":
"name": "secondLevel"
]
如果不只是更详细地解释您的问题,我希望这会有所帮助。
【讨论】:
如果 parentId 为 null 则它是我的主要类别,否则它是子类别。我无法查询我的 parentId 为空的类别 它会抛出错误还是您不知道如何查询? 当我尝试查询时,我得到了存储在类别中的所有结果,但我想要具有空值的 parentCategory 的数据,我想我在查询中遗漏了一些东西,或者显然我没有写正确的查询。但是,我确实尝试在整个互联网上进行搜索。我试着在下面查询,虽然我知道这是不对的。ctx.db.query.categories( where: id_not: parent.parentId , info)
如果我理解正确,我认为categories( where: parentCategory: null
应该可以工作。以上是关于如何使用 MongoDB 在 Prisma ORM 中创建类别及其子类别的主要内容,如果未能解决你的问题,请参考以下文章
使用 Prisma + MongoDB + GraphQL 的嵌套关系返回 null
prisma config connect mongodb 不要使用管理员用户
使用 Prisma ORM 将日期(仅)列作为字符串检索或映射到字符串而无需时间