Comprador ou comerciante? Check-out Consulta N1QL

N1QL é uma linguagem de consulta de última geração para o Couchbase Server. Ela vai além do SQL e do modelo relacional de várias maneiras - o mais importante é que os atributos no N1QL podem conter vários valores, e esses valores podem ser aninhados. Neste blog, examinaremos algumas consultas N1QL que são comumente vistas em um aplicativo de comércio eletrônico. Esse tipo de aplicativo teria uma variedade de dados ricos relacionados a produtos, clientese compras.

Primeiro, vamos obter uma lista de produtos pertencentes a uma categoria específica (neste caso, estou procurando por "eletrodomésticos")

  SELECIONAR produto

  DE produto

  INÚTIL produto.categorias como categorias

  ONDE categorias = "Eletrodomésticos"

Agora encontrei um aparelho que quero comprar, mas antes de fazer o check-out, preciso fazer login na loja. Seu aplicativo pode armazenar perfis de usuário no Couchbase na forma de documentos JSON, conforme mostrado abaixo:

"resultset": [
   {
     "ccInfo": {
       "cardExpiry": "2013-09-12",
       "cardNumber": “1228-1221-1221-1431”,
       "cardType": "discover"
     },
     "customerId": "customer0",
     "dateAdded": “2013-06-23T04:32:31Z”,
     "dateLastActive": “2013-07-23T04:32:31Z”,
     "emailAddress": "zion@armstronghaley.biz",
     "firstName": "Rosella",
     "lastName": "Tremblay",
     "phoneNumber": "1-543-962-9861 x534",
     "postalCode": "75832",
     "Estado": "PR",
     "type": "customer"
   }
 ]
….

Agora, vamos obter uma lista de clientes e seus endereços de e-mail. Para fazer isso, você pode usar a seguinte consulta N1QL :

SELECIONAR firstName || ” “ || lastName como fullName, emailAddress

DE cliente

|| é usado para concatenar cadeias de caracteres no N1QL. O resultado dessa consulta será algo parecido com o seguinte -

"resultset": [
   {
     "emailAddress": "zion@armstronghaley.biz",
     "fullName": "Rosella Tremblay"
   },
   {
     "emailAddress": "kobe@douglas.net",
     "fullName": "Erich Toy"
   },
….

 

Depois de fazer o login, adiciono o item ao meu carrinho de compras. Antes de fazer o check-out, adiciono mais alguns itens de que gosto ao meu carrinho de compras. Em seguida, envio meu pedido. Pouco tempo depois, a equipe de expedição é notificada de que um pedido foi feito e gostaria de revisar meu pedido de compra para preparar o pacote a ser enviado pelo correio.

A consulta N1QL a seguir preparará o pedido de compra para "purchase0"
 

SELECIONAR compras, produto, cliente

DE compras CHAVE "purchase0" INÚTIL compras.lineItems AS itens

JUNTAR produto CHAVE itens.produto

JUNTAR cliente CHAVE compras.customerId

Aqui, o documento que contém as informações de compra é combinado com os documentos do produto e do cliente para obter informações completas sobre o pedido de compra.

 

No final do ano, a loja deseja revisar sua vendas. A consulta N1QL a seguir calcula as vendas mês a mês.

SELECIONAR substrato(compras.purchasedAt, 0, 7) como mêsrodada(soma(produto.unitPrice * itens.contagem)/1000000, 3) como receitaMilhões

DE compras não registrado compras.lineItems como itens unir-se produto chave itens.produto

GRUPO BY substrato(compras.purchasedAt, 0, 7)

ORDEM BY mês

 

Quer mais?

Apenas examinamos superficialmente algumas consultas N1QL relacionadas ao comércio eletrônico. Para saber mais sobre o N1QL, confira  http://query.couchbase.com e não se esqueça de se registrar para o nosso próximo Webinar N1QL para analisar esse caso de uso em mais detalhes.

Compartilhe este artigo
Receba atualizações do blog do Couchbase em sua caixa de entrada
Esse campo é obrigatório.

Autor

Postado por Don Pinto, gerente principal de produtos da Couchbase

Don Pinto é gerente de produto principal da Couchbase e atualmente está concentrado no avanço dos recursos do Couchbase Server. Ele é extremamente apaixonado por tecnologia de dados e, no passado, foi autor de vários artigos sobre o Couchbase Server, incluindo blogs técnicos e white papers. Antes de ingressar no Couchbase, Don passou vários anos na IBM, onde ocupou a função de desenvolvedor de software no grupo de gerenciamento de informações DB2 e, mais recentemente, como gerente de programa na equipe do SQL Server na Microsoft. Don tem mestrado em ciência da computação e é bacharel em engenharia da computação pela Universidade de Toronto, no Canadá.

Deixe um comentário

Pronto para começar a usar o Couchbase Capella?

Iniciar a construção

Confira nosso portal do desenvolvedor para explorar o NoSQL, procurar recursos e começar a usar os tutoriais.

Use o Capella gratuitamente

Comece a trabalhar com o Couchbase em apenas alguns cliques. O Capella DBaaS é a maneira mais fácil e rápida de começar.

Entre em contato

Deseja saber mais sobre as ofertas do Couchbase? Deixe-nos ajudar.