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