GraphQL Cookbook
获取一个对象
9 分
通过 parse graphql api 获取对象 问题 您想通过 parse graphql api 从数据库中获取一个现有对象。 解决方案 使用 parse graphql,有两种不同的方法可以从数据库中获取现有对象: https //www back4app com/docs/parse graphql/graphql query get object#query generic 这是您可以用来获取任何类对象的查询。 https //www back4app com/docs/parse graphql/graphql query get object#query class 这是您应该使用的推荐查询,以获取特定类的对象。 版本信息 根据您选择运行的 parse 版本,graphql 查询、变更和结果会略有不同。 请根据您正在运行的 parse 版本选择正确的示例。 使用通用查询 当您使用 get get 通用查询时,parse server 的行为类似于无模式数据库。这意味着您不需要指定要获取哪个对象的字段。您只需发送对象的 classname classname 和 objectid objectid , parse server 将返回该对象的所有字段。 因此,对象的 get get 通用查询是您可以用来获取任何类的现有对象的查询。如果您想获取特定类的现有对象,我们建议使用 https //www back4app com/docs/parse graphql/graphql query get object#query class 此示例仅在您使用 classname classname 的现有对象时有效。您可以使用 https //www back4app com/docs/parse graphql/graphql mutation create object 的配方来创建对象。 parse server 3 8 0 request 1 query getobject { 2 get(classname "hero", objectid "rr8jmfrnks") 3 } response 1 { 2 "data" { 3 "get" { 4 "objectid" "rr8jmfrnks", 5 "name" "luke skywalker", 6 "createdat" "2019 11 04t12 42 40 723z", 7 "updatedat" "2019 11 04t12 42 40 723z" 8 } 9 } 10 } 示例 parse 3 9 0 及更高版本: parse 3 9 及更高版本不再提供通用方法 get 和 find。您必须使用下面的特定方法来检索对象。 使用类查询 一旦您在应用程序的架构中创建了对象的类(例如,使用 https //www back4app com/docs/parse graphql/graphql mutation create object#mutation generic 配方),parse server 会立即在您的 graphql api 中添加一个新的 get\<classname> get\<classname> 查询,以获取该类的现有对象。 因此,对象的类查询是获取特定类的现有对象的推荐方法。由于此查询了解您的类数据,它将自动为您提供代码自动补全和验证等附加功能。 此示例仅在您使用 classname classname 和 objectid objectid 的现有对象时有效。您可以使用 https //www back4app com/docs/parse graphql/graphql mutation create object 配方来创建对象。 parse server 3 10 0 及更高版本 request 1 query gethero { 2 hero(id "sgvybzpvrm5tvdm1ynbp") { 3 id, 4 name, 5 createdat, 6 updatedat 7 } 8 } response 1 { 2 "data" { 3 "hero" { 4 "id" "sgvybzpvrm5tvdm1ynbp", 5 "name" "r2 d2", 6 "createdat" "2020 02 06t13 13 26 678z", 7 "updatedat" "2020 02 06t13 13 26 678z" 8 } 9 } 10 } 旧版 parse server parse 3 9 0 类查询 请求 1 query gethero { 2 hero(id "ckhurmmjzw") { 3 id, 4 name, 5 createdat, 6 updatedat 7 } 8 } 响应 1 { 2 "data" { 3 "hero" { 4 "id" "ckhurmmjzw", 5 "name" "卢克·天行者", 6 "createdat" "2019 11 04t12 37 22 462z", 7 "updatedat" "2019 11 04t12 37 22 462z" 8 } 9 } 10 } parse server 3 8 0 类查询 parse server 3 7 2 解析服务器 3 7 2 通用查询 请求 1 query getobject { 2 objects { 3 get(classname "hero", objectid "ffyobotk85") 4 } 5 } 响应 1 { 2 "data" { 3 "objects" { 4 "get" { 5 "objectid" "ffyobotk85", 6 "name" "卢克·天行者", 7 "createdat" "2019 07 15t01 25 20 875z", 8 "updatedat" "2019 07 15t01 25 20 875z" 9 } 10 } 11 } 12 } 类查询 解析服务器 3 7 2 1 query gethero { 2 objects { 3 gethero(objectid "ffyobotk85") { 4 objectid, 5 name, 6 createdat, 7 updatedat 8 } 9 } 10 } 结果 解析 3 7 2 1 { 2 "data" { 3 "objects" { 4 "gethero" { 5 "objectid" "ffyobotk85", 6 "name" "卢克·天行者", 7 "createdat" "2019 07 15t01 25 20 875z", 8 "updatedat" "2019 07 15t01 25 20 875z" 9 } 10 } 11 } 12 }