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

couchbase 查询

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

Couchbase为您提供N1QL

N1QL是一种声明性查询语言,它扩展了JSONSQL。 您可以通过本机框架和语言集成,流利的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

couchbase 查询

评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符 “速评一下”
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页