
Você gostaria de consultar o banco de dados de documentos JSON usando uma sintaxe semelhante à do SQL? O Couchbase tem N1QL para você.
N1QL é uma linguagem de consulta declarativa que estende o SQL para JSON. Você pode consultar dados por meio da estrutura nativa e da integração da linguagem, de uma API fluente ou dos drivers JDBC/ODBC.
O N1QL permite que você consulte documentos JSON sem nenhuma limitação: classifique, filtre, transforme, agrupe e combine dados com uma única consulta. É isso mesmo. Você pode combinar dados de vários documentos com um JUNTAR. Aquele modelo de dados flexível que lhe foi prometido? É isso mesmo. Você não está mais limitado aos modelos de dados de "tabela única" e "tabela por consulta".
Tutorial N1QL é um ótimo recurso para aprender os conceitos de consulta a documentos JSON usando sintaxe semelhante à do SQL. Aqui estão alguns exemplos:
|
1 2 3 |
SELECT children[0].fname AS cname FROM tutorial WHERE fname='Dave' |
OU
|
1 2 3 |
SELECT fname, age, age/7 AS age_dog_years FROM tutorial WHERE fname = 'Dave' |
OU
|
1 2 3 4 |
SELECT relation, COUNT(*) AS count FROM tutorial GROUP BY relation HAVING COUNT(*) > 1 |
OU
|
1 2 3 4 5 6 7 8 |
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 |
OU
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
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 |
Então, você está pronto para experimentar o N1QL? Você certamente pode usar o Ferramenta CBQ. Como alternativa, você pode usar Workbench de consulta do Couchbase. O query workbench oferece uma interface gráfica de usuário avançada para preparar e executar consultas N1QL simples e complexas. Ele oferece uma maneira conveniente de realizar o desenvolvimento de consultas, permitindo que você navegue, crie e execute instruções N1QL e visualize os resultados.
Quer saber como começar? Saiba tudo sobre isso nesta breve sessão com Eben Haber:
Faça suas perguntas em Estouro de pilha ou Fóruns do Couchbase.
Você também pode nos seguir em @couchbasedev e @couchbase. Aproveite!