GraphQL Cookbook
Mise à jour d'un objet
10 min
mise à jour d'un objet via l'api graphql de parse problème vous souhaitez mettre à jour un objet existant dans votre base de données via l'api graphql de parse solution en utilisant le graphql de parse, il existe deux façons différentes de mettre à jour un objet existant dans votre base de données https //www back4app com/docs/parse graphql/graphql mutation update object#mutation generic c'est la mutation que vous devez utiliser si vous souhaitez définir des champs qui n'appartiennent pas encore à la classe de votre objet https //www back4app com/docs/parse graphql/graphql mutation update object#mutation class c'est la mutation recommandée si la classe de votre objet a déjà tous les champs que vous souhaitez mettre à jour informations sur la version selon la version de parse que vous choisissez d'exécuter, les requêtes graphql, les mutations et les résultats seront légèrement différents veuillez choisir le bon exemple en fonction de la version de parse que vous exécutez utilisation de la mutation générique lorsque vous utilisez la mise à jour mise à jour de la mutation générique, parse server se comporte comme une base de données sans schéma cela signifie que vous n'avez pas besoin de définir tous les champs de votre objet à l'avance vous devez simplement envoyer les champs que vous souhaitez mettre à jour, et parse server ne se contentera pas de les stocker, mais apprendra également de cela et créera automatiquement tout nouveau champ dans la classe de cet objet par conséquent, la mise à jour mise à jour de la mutation générique est la méthode que vous devez utiliser pour mettre à jour un objet existant si vous souhaitez définir des champs qui n'appartiennent pas encore à la classe de votre objet vous pouvez en fait utiliser cette mutation pour mettre à jour n'importe quel objet existant, mais nous recommandons d'utiliser la https //www back4app com/docs/parse graphql/graphql mutation update object#mutation class si la classe de votre objet a déjà tous les champs que vous souhaitez mettre à jour cet exemple ne fonctionnera que si vous utilisez un classname classname et un objectid objectid d'un objet existant vous pouvez créer un objet en utilisant la https //www back4app com/docs/parse graphql/graphql mutation create object parse 3 8 0 request 1 mutation updateobject { 2 update(classname "hero", objectid "rr8jmfrnks", fields { height 5 6 }) { 3 updatedat 4 } 5 } response 1 { 2 "data" { 3 "updatehero" { 4 "updatedat" "2019 11 04t13 28 44 150z" 5 } 6 } 7 } exemple parse 3 9 0 et versions ultérieures parse 3 9 0 et versions ultérieures n'ont pas la méthode générique update vous devez utiliser les méthodes spécifiques ci dessous pour mettre à jour des objets utilisation de la mutation de classe une fois que vous avez déjà créé la classe de votre objet dans le schéma de votre application (par exemple, en utilisant la https //www back4app com/docs/parse graphql/graphql mutation create object#mutation generic recette), parse server ajoute instantanément à votre api graphql une nouvelle update\<classname> update\<classname> mutation pour mettre à jour un objet existant de cette classe par conséquent, la mutation de classe de l'objet est la méthode recommandée pour mettre à jour un objet existant si la classe de votre objet a déjà tous les champs que vous souhaitez mettre à jour étant donné que cette mutation connaît les données de votre classe, elle mettra automatiquement à votre disposition des fonctionnalités supplémentaires telles que l'auto complétion de code et la validation vous n'avez également pas besoin de spécifier les types de données lors de l'envoi de dates, de pointeurs, de relations, de fichiers, de points géographiques, de polygones ou d'octets via la mutation de mise à jour de classe cet exemple ne fonctionnera que si vous utilisez une mutation de classe et objectid objectid ou id id d'un objet existant vous pouvez créer un objet en utilisant la https //www back4app com/docs/parse graphql/graphql mutation create object recette la classe de l'objet doit avoir tous les champs que vous essayez de mettre à jour vous pouvez créer de nouveaux champs en utilisant la https //www back4app com/docs/parse graphql/graphql mutation update object#mutation generic parse 3 10 0 et versions ultérieures request 1 mutation updateobject { 2 updatehero(input { 3 id "sgvybzpvrm5tvdm1ynbp" 4 fields { 5 height 5 6 6 } 7 }){ 8 hero{ 9 updatedat 10 } 11 } 12 } response 1 { 2 "data" { 3 "updatehero" { 4 "hero" { 5 "updatedat" "2020 02 06t13 31 49 866z" 6 } 7 } 8 } 9 } anciennes versions de parse server parse 3 9 0 mutation de classe parse server 3 9 0 1 mutation updateobject { 2 updatehero(id "ckhurmmjzw" fields { 3 height 5 6 4 }){ 5 updatedat 6 } 7 } résultat parse 3 9 0 1 { 2 "data" { 3 "updatehero" { 4 "updatedat" "2019 11 04t13 30 20 457z" 5 } 6 } 7 } analyse 3 8 0 mutation de classe demande 1 mutation updateobject { 2 updatehero(objectid "rr8jmfrnks" fields { 3 height 5 6 4 }){ 5 updatedat 6 } 7 } réponse 1 { 2 "data" { 3 "updatehero" { 4 "updatedat" "2019 11 04t13 38 46 343z" 5 } 6 } 7 } analyse 3 7 2 mutation générique serveur parse 3 7 2 1 mutation updateobject { 2 objects { 3 update(classname "hero", objectid "ffyobotk85", fields { height 5 6 }) { 4 updatedat 5 } 6 } 7 } résultat parse 3 7 2 1 { 2 "data" { 3 "objects" { 4 "update" { 5 "updatedat" "2019 07 15t05 57 14 416z" 6 } 7 } 8 } 9 } mutation de classe serveur parse 3 7 2 1 mutation updatehero { 2 objects { 3 updatehero(objectid "jjh0aqqjfs", fields { height 3 6 }) { 4 updatedat 5 } 6 } 7 } résultat parse 3 7 2 1 { 2 "data" { 3 "objects" { 4 "updatehero" { 5 "updatedat" "2019 07 15t05 51 25 572z" 6 } 7 } 8 } 9 }