Я работаю над мутацией 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.

Не уверен, получил ли я его, но это больше вызывает сомнения на MongoDb, чем на самом GraphQL. Сначала вы должны найти нужный документ (я бы использовал id документа вместо CategoryGroupName), затем вы можете обновить этот массив несколькими способами. Например, после того, как вы нашли документ, вы можете просто получить доступ к содержимому массива и распространить его на новый, добавив эти новые данные из вашей мутации, и сохранить этот объект с помощью метода update. (если вы просто хотите добавить новые данные, не удаляя их)
Так что все зависит от случая.
Проверить: https://docs.mongodb.com/manual/reference/operator/update-array/
Надеюсь, это поможет! :)