首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

GraphQL 名词 101:解析 GraphQL 查询语法》【译】

请注意,它们始终称为“字段”,无论它们所在层次有多深。在你查询中,对根节点字段处理和最底层字段应该是一样。 参数(Arguments):一组与特定字段关联键值对。...请注意,参数可以显示在任何字段中,即使是嵌套层次很深字段。 为了让你以非常简洁形式定义一个GraphQL查询,上面的栗子是GraphQL一种非常简单形式。...这样,无论你是在网络日志中或者GraphQL服务器发现错误,你都可以通过名字很轻松在代码库中定位问题,而不是靠猜测(类似的工具有 Apollo Optics)。...变量定义(Variable definitions):当客户端向GraphQL服务器发送查询时,会存在查询文档不变,当某些字段会动态变化情况。这些就是查询变量。...GraphQL查询必须包含一个标识选择集字段,且该字段返回是对象类型,选择集不能设置在返回值是标量类型(Scalar Types)字段,例如Int或者String。

2.9K20
您找到你想要的搜索结果了吗?
是的
没有找到

用 Gatsby 创建一个博客

这些问题,让我们通过编写一个GraphQL查询来回答,以便为我们组件添加内容。 编写一个 GraphQL 查询 在 Template 声明下面,我们将添加一个 GraphQL 查询。...最后,我们有一个针对博客文章 React 模板,还有一个连接 GraphQL 查询查询博客文章,并将 React 模板注入到查询数据中。...每个公开属性(在节点)都可以用于查询。我们正在有效地创造一个GraphQL数据库,然后我们可以通过页面级GraphQL查询对它进行查询。...我们 GraphQL“形状”直接反映在这个数据对象中,因此,当我们在GraphQL博客文章模板中查询时,我们从该查询中提取每个属性都将可用。...在这一点,我们使用 React 组件和几个 GraphQL 查询创建了一个单页静态博客。然而,这不是一个博客!

2.5K30

一杯茶时间,上手 Gatsby 搭建个人博客

通过 GraphQL 统一管理实际非常方便,因为作为一个数据库查询语言,它有非常完备查询语句,与 JSON 相似的描述结构,再结合 Relay Connections 方式处理集合,管理资源不再需要自行引入其它项目...在 Gatsby 中,根据 js 文件位置不同,使用 GraphQL 有两种形式,且 Gatsby 对其做了魔法,在 src/pages 下页面可以直接 export GraphQL 查询,在其它页面需要用...一个快速上手方式是访问项目开发时(默认 http://localhost:8000) /___graphql 页面,通过 GraphiQL 编辑器右侧可以浏览所有能够查询资源。...Debug GraphQL Gatsby 魔法带来另外一个坑是 GraphQL 报错信息不全,可能会默默被吞掉,也可能无法定位到最终文件。...这里通过 exports.createPages 回调中 graphql查询 Markdown 文件。

3.2K20

GraphQL入门之查询片段使用

前面的文章介绍了 GraphQL 查询操作,但是有时候我们要执行类似下面的这种查询操作,在一个查询中包含多个查询操作并且返回对象结果相同时候,重复去写这些属性列表也是比较冗余事情,那么怎么简化这个写法呢...} 创建 Node.js 工程 mkdir myapp cd myapp npm init (一路回车) 安装依赖包 npm install @apollo/server graphql 定义 Schema...创建 schema.graphql 文件,内容如下: type User { id: ID!...定义查询操作:定义了两个查询操作,users查询所有用户,user(id)根据id查询用户。...定义处理函数: users:返回上面初时 User 数组。 user(obj, args, context, info):根据传入 id 在 User 数组中查找,并返回查询结果。

9310

GraphQL 查询 Django 应用

TLDR REST 更多是从 HTTP 协议出发一种约定协议,因为受制于 HTTP 协议本身设计,在表达能力是弱于作为查询语言 GraphQL 。...也正因此,GraphQL 在实现更加繁复,所以面对 API 数量少、需求不会轻易场景时,REST 反而是更适合技术选型。...作为后端开发,学习和使用 GraphQL 动力,更多是想将自己从 CRUD 泥沼中拯救出来,将更多精力放在其他更重要技术。...可以在列表对象中增加 filter_fields ,针对不同字段支持不同 Django 复杂查询方法。...return User.objects.get(username=username) 需要注意是,当我们使用 resolve_ 函数去处理查询时,GraphQL 和 REST 本质只是查询 DSL

2K60

防止你GraphQL API被恶意查询

:该检查可能会允许使用短字段名称进行讨厌查询,或者使用长字段名称或嵌套片段来防止合法查询。...如果我们只通过查询白名单,已经严重限制了他们选择,并且破坏了拥有GraphQL API重要性。 那些限制是我们无法使用,所以我们得重新设计。...我在最新发布2017年MacBook Pro本地运行了上述查询,并且我们API服务器花费了10-15秒时间来响应1M字节JSON。 ...你可以指定某个字段复杂程度,乘以哪个参数以及最大成本,而graphql-cost-analysis会为你完成其余工作。...运行上面的evilQuery,现在我们添加了graphql-cost-analysis,我收到一条错误消息,告诉我“GraphQL查询超过最大复杂度,请删除一些嵌套或字段,然后重试。

1.8K10

关于日期及时间字段查询

前言: 在项目开发中,一些业务表字段经常使用日期和时间类型,而且后续还会牵涉到这类字段查询。关于日期及时间查询等各类需求也很多,本篇文章简单讲讲日期及时间字段规范化查询方法。...涉及到日期和时间字段类型选择时,根据存储需求选择合适类型即可。 2.日期和时间相关函数 处理日期和时间字段函数有很多,有的经常会在查询中使用到,下面介绍下几个相关函数使用方法。...有时候这类需求多种多样,下面我们来学习下关于日期和时间字段查询写法。 首先,为了使查询更加准确,在插入数据时也要按规范来插入。...真实情况下,某些查询可能更加复杂,特别是数据量很大时,根据时间字段查询往往会速度很慢,这时也要注意创建索引,最好能把时间字段转换为时间戳,因为整型查询和筛选会快些。...最好也要做个提醒,不要在日期和时间字段做运算,程序能完成事情不要在数据库层面来做。

6.9K40

MySQL|查询字段数量多少对查询效率影响

其次,测试中都使用了where 条件进行过滤(Using where),过滤后没有数据返回,我们常说 where 过滤实际是在 MySQL 层,当然某些情况下使用 ICP 会提前在 Innodb 层过滤数据...实际其中有一个核心接口就是 row_search_mvcc,它大概包含了如下功能: 通过预取缓存获取数据 打开事务 定位索引位置(包含使用 AHI 快速定位) 是否开启 readview 通过持久化游标不断访问下一条数据...这里实际和访问字段个数无关。 5....到这里我们大概知道了,查询字段越多那么这里转换过程越长,并且这里都是实际内存拷贝,而非指针指向。...我们线上大于 10 个字段表比比皆是,如果我们只需要访问其中少量字段,我们最好还是写实际字段而不是 '*',来规避这个问题。

5.6K20

查询 MySQL 字段注释 5 种方法!

很多场景下,我们需要查看 MySQL 中表注释,或者是某张表下所有字段注释,所以本文就来盘点和对比一下查询注释几种方式。 创建测试数据库 开始之前咱们先创建一个数据库,以备下面演示使用。...字段注释查询方式1 查询语法如下: show full columns from 表名; 案例:查询 student 表中所有字段注释信息: show full columns from student...where table_schema='test2022' and table_name='student'; 执行结果如下图所示: 字段注释查询方式3 查询 DDL(数据定义语言)也可以看到字段注释内容...字段注释查询方式4 如果使用是 Navicat 工具,可以在表右键、再点设计,到设计页面就可以查看字段注释了,如下图所示: 但这种操作有点危险,小心手抖把表结构改错了。...字段注释查询方式5 在 Navicat 中查看表 DDL 语句也可以看到字段注释,选中表再点击右下脚“显示右边窗口”选项,然后再点击 DDL 就可以显示了,具体操作步骤如下图所示: 修改表注释和字段注释

5.2K30

MongoDB(13)- 查询操作返回指定字段

查询文档会返回所有字段 > db.inventory.find( { status: "A" } ) { "_id" : ObjectId("60b7177a67b3da741258754b"),...) query:可选项,设置查询操作符指定查询条件 projection :可选项,指定要在与 query 匹配文档中返回字段,如果忽略此选项则返回所有字段【本节重点】 仅返回指定字段和 _id...返回嵌套文档指定字段 > db.inventory.find(...:status 等于 A 返回字段:_id、item、status、size 嵌套文档 uom 字段 关于指定嵌套文档字段,4.4 新增新写法 > db.inventory.find( {...: "A", "size" : { "uom" : "cm" } } 其实就是将 "size.uom": 1 替换成 size : { uom : 1 } ,两种写法哪种顺手用哪种 返回文档数组中文档指定字段

6K30

多表数据汇总查询之6、字段间比较查询条件

『实现效果』 『实现方法』 小勤:怎么实现两个字段之间比较查询?...比如销售量大于销售目标、或小于、或小于等于……最好是能选了哪种查哪种,你看我先用数据有效性做了查询条件: 但是,接下来怎么在PQ里面实现啊?不能分5种情况去写判断吧?...大海:你可以考虑这样啊,先在PQ数据里构造一个两个数比较结果列,然后是不是就跟同一条件多值查询(见文章《按条件动态化查询多表数据之4、同一查询条件多值处理》)一样了? 小勤:有道理啊。...那我试试,在开始做各种筛选步骤前插入自定义列: 在高级编辑器里参考按多值查询方法添加筛选条件: 结果筛选完后再把那个辅助列删掉: 大海:嗯,不错,真是一点就通。...小勤:加辅助列真是个好主意,以后想做更多查询都可以考虑了。 大海:是啊,在Excel里不也经常加辅助列甚至辅助表去解决问题吗?

67820
领券