我正在研究GraphQL突变,在这里需要帮助。我的文档看起来像
{
"_id" : ObjectId("5bc02db357146d0c385d4988"),
"item_type" : "CategoryMapping",
"id" : null,
"CategoryGroupName" : "Mystries & Thriller",
"CustomCategory" : [
{
"name" : "Private Investigator",
"MappedBisacs" : [
"investigator",
"Privately owned",
"Secret"
]
},
{
"name" : "Crime Investigator",
"MappedBisacs" : [
"crime investigator",
"crime thriller"
]
}
]
}
UI
问题-客户端发送GraphQL查询时,如下所示;
mutation {
CategoryMapping_add(input: {CategoryGroupName: "Mystries & Thriller", CustomCategory: [{name: "Crime Investigator", MappedBisacs: ["investigator", "dafdfdaf", "dafsdf"]}]}) {
clientMutationId
}
}
我需要找到特定的自定义类别并更新其bisac数组。
答案 0 :(得分:0)
我不确定是否能做到这一点,但这是对MongoDb
的怀疑,而不是对GraphQL
本身的怀疑。首先,您必须找到所需的文档(我将使用文档的id
而不是CategoryGroupName
),然后可以通过几种方式更新此数组。例如,找到文档后,您可以简单地访问数组内容并散布到一个新的数组中,从而添加来自您的突变的新数据,然后使用update
方法保存该对象。 (如果您只是想添加新数据而不删除任何数据)
因此,要视情况而定。
检查:https://docs.mongodb.com/manual/reference/operator/update-array/
希望有帮助! :)