Gostaria de saber se é possível deletar um item de um objeto aninhado via API ou graphQL. Tenho um tipo de coleção (restaurante) com um componente repetível chamado "franquia" (Flórida e Nova York). Gostaria de excluir apenas um deles (Flórida, por exemplo). Isso é possível?
OBTER API
{
"data": [{
"id": 2,
"attributes": {
"name": "Italian Food",
"address": null,
"createdAt": "2023-09-16T19:13:50.831Z",
"updatedAt": "2023-09-16T19:13:51.632Z",
"publishedAt": "2023-09-16T19:13:51.629Z",
"franchise": [{
"id": 4,
"state": "Florida"
}, {
"id": 5,
"state": "New York"
}]
}
}],
"meta": {
"pagination": {
"page": 1,
"pageSize": 25,
"pageCount": 1,
"total": 1
}
}
}
A maneira como Strapi funciona. Não há uma maneira direta de excluir componentes. Não é impossível, mas...
No seu caso, eu consideraria e refatoraria as franquias como um tipo de coleção, em vez de um componente repetível.
Aqui está uma ótima palestra sobre modelagem de conteúdo no Strapi https://www.youtube.com/watch?v=PDnWCnA6qTg
Mas se você quisesse excluir o componente, teria que fazer uma atualização
mutation
norestaurant
tipo de coleção.E passe o objeto inteiro, menos a franquia que deseja retirar.
Isso atualizará
restaurant
o tipo de coleção e removerá a franquia da Flórida.Como não estamos passando na mutação de atualização, Strapi irá excluí-lo.
Mas a melhor abordagem seria convertê-lo para um
collection
tipo versus umcomponent
.Espero que isso ajude.