
¿Te gustaría consultar la base de datos de documentos JSON utilizando una sintaxis similar a SQL? Couchbase tiene N1QL para ti.
N1QL es un lenguaje de consulta declarativo que amplía SQL para JSON. Puede consultar datos a través del marco nativo y la integración del lenguaje, una API fluida o los controladores JDBC/ODBC.
N1QL le permite consultar documentos JSON sin limitaciones - ordenar, filtrar, transformar, agrupar y combinar datos con una sola consulta. Así es. Usted puede combinar datos de varios documentos con un ÚNASE A. ¿El modelo de datos flexible que le prometieron? Aquí lo tiene. Ya no está limitado a los modelos de datos de "tabla única" y "tabla por consulta".
Tutorial N1QL es un gran recurso para aprender los conceptos de consulta de documentos JSON utilizando una sintaxis similar a SQL. Aquí tienes algunos ejemplos:
|
1 2 3 |
SELECT children[0].fname AS cname FROM tutorial WHERE fname='Dave' |
O
|
1 2 3 |
SELECT fname, age, age/7 AS age_dog_years FROM tutorial WHERE fname = 'Dave' |
O
|
1 2 3 4 |
SELECT relation, COUNT(*) AS count FROM tutorial GROUP BY relation HAVING COUNT(*) > 1 |
O
|
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 |
O
|
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 |
¿Estás listo para experimentar con N1QL? Puede utilizar Herramienta CBQ. También puede utilizar Banco de trabajo de consultas Couchbase. El banco de trabajo de consultas proporciona una rica interfaz gráfica de usuario para preparar y ejecutar consultas N1QL de simples a complejas. Proporciona una forma cómoda de realizar el desarrollo de consultas, ya que permite examinar, crear y ejecutar sentencias N1QL, así como ver los resultados.
¿Quiere saber cómo empezar? Descúbrelo todo en esta breve sesión con Eben Haber:
Haga sus preguntas en Stack Overflow o Foros de Couchbase.
También puede seguirnos en @couchbasedev y @couchbase. Que aproveche.