2018-09-11 14:11:24 +03:00
|
|
|
|
Delete mutation
|
|
|
|
|
===============
|
|
|
|
|
|
2018-12-03 15:12:24 +03:00
|
|
|
|
.. contents:: Table of contents
|
|
|
|
|
:backlinks: none
|
|
|
|
|
:depth: 1
|
|
|
|
|
:local:
|
2018-09-11 14:11:24 +03:00
|
|
|
|
|
2018-12-03 15:12:24 +03:00
|
|
|
|
Here’s the schema for the delete mutation field for a table ``article``:
|
|
|
|
|
|
|
|
|
|
.. code-block:: graphql
|
|
|
|
|
|
|
|
|
|
delete_article (
|
|
|
|
|
where: article_bool_exp!
|
|
|
|
|
): article_mutation_response
|
|
|
|
|
|
|
|
|
|
# response of any mutation on the table "article"
|
|
|
|
|
type article_mutation_response {
|
|
|
|
|
# number of affected rows by the mutation
|
|
|
|
|
affected_rows: Int!
|
|
|
|
|
#data of the affected rows by the mutation
|
|
|
|
|
returning: [article!]!
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
As you can see from the schema:
|
|
|
|
|
|
|
|
|
|
- ``where`` argument is compulsory to filter rows to be deleted. See :doc:`Filter queries <../queries/query-filters>`
|
|
|
|
|
for filtering options. Objects can be deleted based on filters on their own fields or those in their nested objects.
|
|
|
|
|
- You can return the number of affected rows and the affected objects (with nested objects) in the response.
|
|
|
|
|
|
|
|
|
|
Delete based on an object's fields
|
|
|
|
|
----------------------------------
|
|
|
|
|
**Example:** Delete all articles rated less than 3:
|
2018-09-11 14:11:24 +03:00
|
|
|
|
|
|
|
|
|
.. graphiql::
|
|
|
|
|
:view_only:
|
|
|
|
|
:query:
|
|
|
|
|
mutation delete_low_rated_articles {
|
|
|
|
|
delete_article(
|
|
|
|
|
where: {rating: {_lt: 3}}
|
|
|
|
|
) {
|
|
|
|
|
affected_rows
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
:response:
|
|
|
|
|
{
|
|
|
|
|
"data": {
|
|
|
|
|
"delete_low_rated_articles": {
|
|
|
|
|
"affected_rows": 8
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
2018-12-03 15:12:24 +03:00
|
|
|
|
Delete based on a nested object's fields
|
|
|
|
|
----------------------------------------
|
|
|
|
|
**Example:** Delete all articles written by a particular author:
|
2018-09-11 14:11:24 +03:00
|
|
|
|
|
|
|
|
|
.. graphiql::
|
|
|
|
|
:view_only:
|
|
|
|
|
:query:
|
|
|
|
|
mutation delete_authors_articles {
|
|
|
|
|
delete_article(
|
|
|
|
|
where: {author: {name: {_eq: "Corny"}}}
|
|
|
|
|
) {
|
|
|
|
|
affected_rows
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
:response:
|
|
|
|
|
{
|
|
|
|
|
"data": {
|
|
|
|
|
"delete_authors_articles": {
|
|
|
|
|
"affected_rows": 2
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|