restql 提供了比较强大的查询处理。

支持的几种查询模式

  • 基本查询,主要是单一映射资源的查询,(from,with,only,header,cache。。。)
  • 并行查询,多个资源的同时查询,(对于没有关联的数据处理很不错)
  • 链式查询,查询数据有管理,一个输出是另外一个的输入
  • 聚合结果查询(使用in ,实际上使用链接查询也可以)

基本使用

  • 环境准备
    使用docker-compose 准备基础环境
 
version: '3'
services:
  restql-api:
    image: b2wdigital/restql-http:latest
    ports:
      - "9000:9000"
    environment:
      - MONGO_URL=mongodb://mongodb:27017/restql
  restql-manager:
    image: b2wdigital/restql-manager:latest
    ports:
      - "3000:3000"
    environment:
      - MONGO_URL=mongodb://mongodb:27017/restql
      - RESTQL_SERVER_URL=http://restql-api:9000
  mongodb:
    image: mongo:latest
    ports: 
    - "27017:27017"

  • 基本查询

一般都是查询单一资源并使用过滤以及only 选择查询数据

  • 并行查询

就是多个rest 资源的同时查询,并聚合

  • 链式查询

一个输出是一个的输入

  • in 查询

简单in 查询

一个高级查询(有待仔细研究下)

说明

restql 是很不错,但是还是缺少一个标准规范,同时在语言的支持上并不是特别的多,生态一般,java 语言的实现使用上还是比较方便的,
同时官方也提供了基于注解的开发方式。

参考资料

http://docs.restql.b2w.io/#/restql/query-language

restql 学习二 几种查询模式的更多相关文章

  1. GIS-010-ArcGIS JS 三种查询模式(转)

    QueryTask.FindTask.IdentifyTask都是继承自ESRI.ArcGIS.Client.Tasks: 1.QueryTask:是一个进行空间和属性查询的功能类,它可以在某个地图服 ...

  2. EntityFramework 学习 一 三种开发模式

    Entity Framework支持3种不同的开发方法 1.Code First 2.Model First 3.Database First Code First 使用Code First开发模式, ...

  3. Spring入门学习(二)三种实例化bean的方法

    前面的哪一种就是通过构造函数来实例化对象 下面我们可能用到工厂方法来视力话对象,这样我们的配置文件又该怎么配置呢 <bean name="service2" class=&q ...

  4. NHibernate3.2学习笔记-几种查询方式

    一.开发环境 数据库:SQLServer2008 编译器:VS2010 .Net版本:.Net Framework 4.0 二.开发过程 1.项目结构 承接上一篇 2.执行sql语句 (1)基本语法 ...

  5. java web学习总结(二十九) -------------------JavaBean的两种开发模式

    SUN公司推出JSP技术后,同时也推荐了两种web应用程序的开发模式,一种是JSP+JavaBean模式,一种是Servlet+JSP+JavaBean模式. 一.JSP+JavaBean开发模式 1 ...

  6. javaweb学习总结(二十一)——JavaWeb的两种开发模式

    SUN公司推出JSP技术后,同时也推荐了两种web应用程序的开发模式,一种是JSP+JavaBean模式,一种是Servlet+JSP+JavaBean模式. 一.JSP+JavaBean开发模式 1 ...

  7. JavaWeb学习 (二十)————JavaWeb的两种开发模式

    一.JSP+JavaBean开发模式 1.1.jsp+javabean开发模式架构 jsp+javabean开发模式的架构图如下图(图1-1)所示

  8. 【RabbitMQ学习之二】RabbitMQ四种交换机模式应用

    环境 win7 rabbitmq-server-3.7.17 Erlang 22.1 一.概念1.队列队列用于临时存储消息和转发消息.队列类型有两种,即时队列和延时队列. 即时队列:队列中的消息会被立 ...

  9. tensorflow学习之(二)Seesion的两种打开模式

    #Seesion的两种打开模式 import tensorflow as tf matrix1 = tf.constant([[3,3]])#一行两列的一个矩阵 matrix2 = tf.consta ...

随机推荐

  1. 基于hash的AB测试

    AB测试 为同一个目标,设计两种方案,将两种方案随机投放市场中,让组成成分相同(相似)用户去随机体验两种方案之一,根据观测结果,判断哪个方案效果更好. 基于hash的AB测试 具体的实现方法为: 在A ...

  2. First Step in luogu.

    2019-11-21 21:58:32 在洛谷正式迈出第一步!!

  3. yarn安装node-sass失败问题

    注:使用 yarn install 命令安装依赖时报错 第一步:更改镜像源 yarn config set registry https://registry.npm.taobao.org -g 第二 ...

  4. linux内核debug的一种方式:procfs

    #include <linux/module.h> #include <linux/compat.h> #include <linux/types.h> #incl ...

  5. 元类理解与元类编程 《Python3网络爬虫开发》中第九章代理的使用代码Crawler中代码的理解

    __new__与__init__的理解 __new__()方法是在创建实例之前被调用的,它的作用是创建一个实例,然后返回该实例对象,它是一个静态方法. __init__() 当实例被创建完成之后被调用 ...

  6. KVM虚拟机网络配置 Bridge方式,NAT方式

    https://blog.csdn.net/hzhsan/article/details/44098537/

  7. PHP小程序后端支付代码亲测可用

    小程序后端支付代码亲测可用 <?php namespace Home\Controller; use Think\Controller; class WechatpayController ex ...

  8. js 固定div 不随着滚动条滚动

    css .fixed { position: fixed; top:; } javascript function my$(id) { return document.getElementById(i ...

  9. 基于Golang的逃逸分析(Language Mechanics On Escape Analysis)

    何为逃逸分析 在编译程序优化理论中,逃逸分析是一种确定指针动态范围的方法——分析在程序的哪些地方可以访问到指针.它涉及到指针分析和形状分析. 当一个变量(或对象)在子程序中被分配时,一个指向变量的指针 ...

  10. 【JZOJ】1341. water(水流)

    题目大意 你必须买一些泵把水抽走.泵的抽水能力可以认为是无穷大,但你必须把泵放在合适的位置,小镇可以认为是N * M的矩阵.矩阵里的每个单元格都是一个‘a’- ‘z’小写字母,该小写字母表示该格子的高 ...