使用SQL和Couchbase查询工作台查询JSON

您想使用类似SQL的语法查询JSON文档数据库吗?

Couchbase为您提供N1QL

N1QL是一种声明性查询语言,它扩展了JSON的SQL。 您可以通过本机框架和语言集成,流利的API或JDBC / ODBC驱动程序查询数据。

N1QL使您可以不受任何限制地查询JSON文档-使用单个查询对数据进行排序,过滤,转换,分组和合并。 那就对了。 您可以使用JOIN 合并来自多个文档的数据。 您可以得到那种灵活的数据模型? 就是这个。 您不再局限于“单个表”和“每个查询表”数据模型。

N1QL教程是学习使用类SQL语法查询JSON文档的概念的绝佳资源。 这里有些例子:

SELECT children[0].fname AS cname
    FROM tutorial
       WHERE fname='Dave'

要么

SELECT fname, age, age/7 AS age_dog_years 
    FROM tutorial 
        WHERE fname = 'Dave'

要么

SELECT relation, COUNT(*) AS count
    FROM tutorial
        GROUP BY relation
            HAVING COUNT(*) > 1

要么

SELECT t.relation, COUNT(*) AS count, AVG(c.age) AS avg_age
    FROM tutorial t
    UNNEST t.children c
    WHERE c.age > 10
    GROUP BY t.relation
    HAVING COUNT(*) > 1
    ORDER BY avg_age DESC
    LIMIT 1 OFFSET 1

要么

SELECT
product.name, 
COUNT(reviews) AS reviewCount,
ROUND(AVG(reviews.rating),1) AS AvgRating,
category 
 FROM reviews AS reviews
JOIN product AS product 
 ON KEYS reviews.productId
UNNEST product.categories AS category
WHERE category = "Appliances"
GROUP BY category, product
ORDER BY AvgRating 
DESC LIMIT 3

那么您准备好尝试使用N1QL吗? 您当然可以使用CBQ工具

或者,您可以使用Couchbase Query Workbench 。 查询工作台提供了丰富的图形用户界面,可以准备和执行简单到复杂的N1QL查询。 它使您能够浏览,创建和运行N1QL语句以及查看结果,从而提供了一种方便的方法来执行查询开发。

想学习入门吗?

在与Eben Haber的简短会议中了解所有相关信息:

Stack OverflowCouchbase论坛上提问。

您也可以通过@couchbasedev@couchbase关注我们。

请享用!

翻译自: https://www.javacodegeeks.com/2016/01/query-json-using-sql-couchbase-query-workbench.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值