{"id":1784,"date":"2014-12-16T18:30:11","date_gmt":"2014-12-16T18:30:10","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=1784"},"modified":"2014-12-16T18:30:11","modified_gmt":"2014-12-16T18:30:10","slug":"shopper-or-merchant-check-out-n1ql-querying","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/pt\/shopper-or-merchant-check-out-n1ql-querying\/","title":{"rendered":"Comprador ou comerciante? Check-out Consulta N1QL"},"content":{"rendered":"<p><span>N1QL \u00e9 uma linguagem de consulta de \u00faltima gera\u00e7\u00e3o para o Couchbase Server. Ela vai al\u00e9m do SQL e do modelo relacional de v\u00e1rias maneiras - o mais importante \u00e9 que os atributos no N1QL podem conter v\u00e1rios valores, e esses valores podem ser aninhados. Neste blog, examinaremos algumas consultas N1QL que s\u00e3o comumente vistas em um aplicativo de com\u00e9rcio eletr\u00f4nico. Esse tipo de aplicativo teria uma variedade de dados ricos relacionados a <strong>produtos<\/strong><span style=\"color:rgb(85, 85, 85)\">, <\/span><strong>clientes<\/strong>e <strong>compras<\/strong>. <\/span><\/p>\n<p class=\"rtecenter\"><span><img decoding=\"async\" alt=\"\" src=\"https:\/\/www.couchbase.com\/blog\/sites\/default\/files\/uploads\/all\/Screen%20Shot%202014-03-31%20at%208.22.09%20PM.png\" style=\"height:129px; width:712px\" \/><\/span><\/p>\n<p dir=\"ltr\"><span>Primeiro, vamos obter uma lista de <strong>produtos<\/strong> pertencentes a uma categoria espec\u00edfica (neste caso, estou procurando por \"eletrodom\u00e9sticos\")<\/span><\/p>\n<p dir=\"ltr\"><span>\u00a0\u00a0<strong>SELECIONAR\u00a0<\/strong>produto<\/span><\/p>\n<p dir=\"ltr\"><span>\u00a0\u00a0<strong>DE<\/strong> produto<\/span><\/p>\n<p dir=\"ltr\"><span>\u00a0\u00a0<strong>IN\u00daTIL<\/strong> <span style=\"color:rgb(51, 51, 51)\">produto<\/span><span style=\"color:rgb(85, 85, 85)\">.<\/span><span style=\"color:rgb(51, 51, 51)\">categorias<\/span><span style=\"color:rgb(85, 85, 85)\"> <\/span><strong>como<\/strong><span style=\"color:rgb(85, 85, 85)\"> <\/span><span style=\"color:rgb(51, 51, 51)\">categorias<\/span><\/span><\/p>\n<p dir=\"ltr\"><span><span style=\"color:rgb(85, 85, 85)\">\u00a0\u00a0<\/span><strong>ONDE<\/strong><span style=\"color:rgb(85, 85, 85)\"> <\/span><span style=\"color:rgb(51, 51, 51)\">categorias<\/span><span style=\"color:rgb(85, 85, 85)\"> <\/span><strong>=<\/strong><span style=\"color:rgb(85, 85, 85)\"> <\/span><span style=\"color:rgb(153, 0, 115)\">\"Eletrodom\u00e9sticos\"<\/span><\/span><\/p>\n<p dir=\"ltr\"><span><span style=\"color:rgb(85, 85, 85)\">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\u00e1rio no Couchbase na forma de documentos JSON, conforme mostrado abaixo:<\/span><\/span><\/p>\n<div class=\"geshifilter\">\n<div class=\"text geshifilter-text\" style=\"font-family:monospace;\"><span>\"resultset\": [<br \/>\u00a0 \u00a0{<br \/>\u00a0 \u00a0 \u00a0\"ccInfo\": {<br \/>\u00a0 \u00a0 \u00a0 \u00a0\"cardExpiry\": \"2013-09-12\",<br \/>\u00a0 \u00a0 \u00a0 \u00a0\"cardNumber\": \u201c1228-1221-1221-1431\u201d,<br \/>\u00a0 \u00a0 \u00a0 \u00a0\"cardType\": \"discover\"<br \/>\u00a0 \u00a0 \u00a0},<br \/>\u00a0 \u00a0 \u00a0\"customerId\": \"customer0\",<br \/>\u00a0 \u00a0 \u00a0\"dateAdded\": \u201c2013-06-23T04:32:31Z\u201d,<br \/>\u00a0 \u00a0 \u00a0\"dateLastActive\": \u201c2013-07-23T04:32:31Z\u201d,<br \/>\u00a0 \u00a0 \u00a0\"emailAddress\": \"zion@armstronghaley.biz\",<br \/>\u00a0 \u00a0 \u00a0\"firstName\": \"Rosella\",<br \/>\u00a0 \u00a0 \u00a0\"lastName\": \"Tremblay\",<br \/>\u00a0 \u00a0 \u00a0\"phoneNumber\": \"1-543-962-9861 x534\",<br \/>\u00a0 \u00a0 \u00a0\"postalCode\": \"75832\",<br \/>\u00a0 \u00a0 \u00a0\"Estado\": \"PR\",<br \/>\u00a0 \u00a0 \u00a0\"type\": \"customer\"<br \/>\u00a0 \u00a0}<br \/>\u00a0]<br \/>&#8230;.<\/span><\/span><\/div>\n<\/div>\n<p dir=\"ltr\"><span><span style=\"color:rgb(85, 85, 85)\">Agora, vamos obter uma lista de <strong>clientes<\/strong> e seus endere\u00e7os de e-mail. Para fazer isso, voc\u00ea pode usar a seguinte consulta N1QL :<\/span><\/span><\/p>\n<p dir=\"ltr\"><span><strong>SELECIONAR<\/strong><span style=\"color:rgb(85, 85, 85)\"> <\/span><span style=\"color:rgb(51, 51, 51)\">firstName<\/span><span style=\"color:rgb(85, 85, 85)\"> <\/span><strong>||<\/strong><span style=\"color:rgb(85, 85, 85)\"> <\/span><span style=\"color:rgb(153, 0, 115)\">&#8221; &#8220;<\/span><span style=\"color:rgb(85, 85, 85)\"> <\/span><strong>||<\/strong><span style=\"color:rgb(85, 85, 85)\"> <\/span><span style=\"color:rgb(51, 51, 51)\">lastName<\/span><span style=\"color:rgb(85, 85, 85)\"> <\/span><strong>como<\/strong><span style=\"color:rgb(85, 85, 85)\"> <\/span><span style=\"color:rgb(51, 51, 51)\">fullName<\/span><span style=\"color:rgb(85, 85, 85)\">, <\/span><span style=\"color:rgb(51, 51, 51)\">emailAddress<\/span><span style=\"color:rgb(85, 85, 85)\"> <\/span><\/span><\/p>\n<p dir=\"ltr\"><span><strong>DE<\/strong><span style=\"color:rgb(85, 85, 85)\"> <\/span><span style=\"color:rgb(51, 51, 51)\">cliente<\/span><\/span><\/p>\n<p><span><span style=\"color:rgb(51, 51, 51)\">|| <\/span><span style=\"color:rgb(85, 85, 85)\">\u00e9 usado para concatenar cadeias de caracteres no N1QL.  O resultado dessa consulta ser\u00e1 algo parecido com o seguinte -<\/span><\/span><\/p>\n<div class=\"geshifilter\">\n<div class=\"text geshifilter-text\" style=\"font-family:monospace;\"><span>\"resultset\": [<br \/>\u00a0 \u00a0{<br \/>\u00a0 \u00a0 \u00a0\"emailAddress\": \"zion@armstronghaley.biz\",<br \/>\u00a0 \u00a0 \u00a0\"fullName\": \"Rosella Tremblay\"<br \/>\u00a0 \u00a0},<br \/>\u00a0 \u00a0{<br \/>\u00a0 \u00a0 \u00a0\"emailAddress\": \"kobe@douglas.net\",<br \/>\u00a0 \u00a0 \u00a0\"fullName\": \"Erich Toy\"<br \/>\u00a0 \u00a0},<br \/>&#8230;.<br \/><\/span><\/span><\/div>\n<\/div>\n<p dir=\"ltr\">\u00a0<\/p>\n<p dir=\"ltr\"><span><span style=\"color:rgb(85, 85, 85)\">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\u00e7\u00e3o \u00e9 notificada de que um pedido foi feito e gostaria de revisar meu pedido de compra para preparar o pacote a ser enviado pelo correio. <\/span><\/span><\/p>\n<p><span><span style=\"color:rgb(85, 85, 85)\">A consulta N1QL a seguir preparar\u00e1 o pedido de compra para \"purchase0\"<\/span><\/span><br \/>\u00a0<\/p>\n<p dir=\"ltr\"><span><strong>SELECIONAR<\/strong><span style=\"color:rgb(85, 85, 85)\"> <\/span><span style=\"color:rgb(51, 51, 51)\">compras<\/span><span style=\"color:rgb(85, 85, 85)\">, <\/span><span style=\"color:rgb(51, 51, 51)\">produto<\/span><span style=\"color:rgb(85, 85, 85)\">, <\/span><span style=\"color:rgb(51, 51, 51)\">cliente<\/span><\/span><\/p>\n<p dir=\"ltr\"><span><strong>DE<\/strong><span style=\"color:rgb(85, 85, 85)\"> <\/span><span style=\"color:rgb(51, 51, 51)\">compras<\/span><span style=\"color:rgb(85, 85, 85)\"> <\/span><strong>CHAVE<\/strong><span style=\"color:rgb(85, 85, 85)\"> <\/span><span style=\"color:rgb(153, 0, 115)\">\"purchase0\"<\/span><span style=\"color:rgb(85, 85, 85)\"> <\/span><strong>IN\u00daTIL<\/strong><span style=\"color:rgb(85, 85, 85)\"> <\/span><span style=\"color:rgb(51, 51, 51)\">compras<\/span><span style=\"color:rgb(85, 85, 85)\">.<\/span><span style=\"color:rgb(51, 51, 51)\">lineItems<\/span><span style=\"color:rgb(85, 85, 85)\"> <\/span><strong>AS<\/strong><span style=\"color:rgb(85, 85, 85)\"> <\/span><span style=\"color:rgb(51, 51, 51)\">itens<\/span><\/span><\/p>\n<p dir=\"ltr\"><span><strong>JUNTAR<\/strong><span style=\"color:rgb(85, 85, 85)\"> <\/span><span style=\"color:rgb(51, 51, 51)\">produto<\/span><span style=\"color:rgb(85, 85, 85)\"> <\/span><strong>CHAVE<\/strong><span style=\"color:rgb(85, 85, 85)\"> <\/span><span style=\"color:rgb(51, 51, 51)\">itens<\/span><span style=\"color:rgb(85, 85, 85)\">.<\/span><span style=\"color:rgb(51, 51, 51)\">produto<\/span><\/span><\/p>\n<p dir=\"ltr\"><span><strong>JUNTAR<\/strong><span style=\"color:rgb(85, 85, 85)\"> <\/span><span style=\"color:rgb(51, 51, 51)\">cliente<\/span><span style=\"color:rgb(85, 85, 85)\"> <\/span><strong>CHAVE<\/strong><span style=\"color:rgb(85, 85, 85)\"> <\/span><span style=\"color:rgb(51, 51, 51)\">compras<\/span><span style=\"color:rgb(85, 85, 85)\">.<\/span><span style=\"color:rgb(51, 51, 51)\">customerId<\/span><\/span><\/p>\n<div><span><span style=\"color:rgb(85, 85, 85)\">Aqui, o documento que cont\u00e9m as informa\u00e7\u00f5es de compra \u00e9 combinado com os documentos do produto e do cliente para obter informa\u00e7\u00f5es completas sobre o pedido de compra.<\/span><\/span><\/div>\n<div>\n<p dir=\"ltr\">\u00a0<\/p>\n<p dir=\"ltr\"><span><span style=\"color:rgb(85, 85, 85)\">No final do ano, a loja deseja revisar sua <strong>vendas<\/strong>. A consulta N1QL a seguir calcula as vendas m\u00eas a m\u00eas.<\/span><\/span><\/p>\n<div>\n<p dir=\"ltr\"><span><strong>SELECIONAR<\/strong><span style=\"color:rgb(85, 85, 85)\"> <\/span><span style=\"color:rgb(51, 51, 51)\">substrato<\/span><span style=\"color:rgb(85, 85, 85)\">(<\/span><span style=\"color:rgb(51, 51, 51)\">compras<\/span><span style=\"color:rgb(85, 85, 85)\">.<\/span><span style=\"color:rgb(51, 51, 51)\">purchasedAt<\/span><span style=\"color:rgb(85, 85, 85)\">, <\/span><span style=\"color:rgb(0, 153, 153)\">0<\/span><span style=\"color:rgb(85, 85, 85)\">, <\/span><span style=\"color:rgb(0, 153, 153)\">7<\/span><span style=\"color:rgb(85, 85, 85)\">) <\/span><strong>como<span style=\"color:rgb(85, 85, 85)\"> <\/span><\/strong><span style=\"color:rgb(51, 51, 51)\">m\u00eas<\/span><span style=\"color:rgb(85, 85, 85)\">,\u00a0<\/span><span style=\"color:rgb(51, 51, 51)\">rodada<\/span><span style=\"color:rgb(85, 85, 85)\">(<\/span><strong>soma<\/strong><span style=\"color:rgb(85, 85, 85)\">(<\/span><span style=\"color:rgb(51, 51, 51)\">produto<\/span><span style=\"color:rgb(85, 85, 85)\">.<\/span><span style=\"color:rgb(51, 51, 51)\">unitPrice<\/span><span style=\"color:rgb(85, 85, 85)\"> <\/span><strong>*<\/strong><span style=\"color:rgb(85, 85, 85)\"> <\/span><span style=\"color:rgb(51, 51, 51)\">itens<\/span><span style=\"color:rgb(85, 85, 85)\">.<\/span><strong>contagem<\/strong><span style=\"color:rgb(85, 85, 85)\">)<\/span><strong>\/<\/strong><span style=\"color:rgb(0, 153, 153)\">1000000<\/span><span style=\"color:rgb(85, 85, 85)\">, <\/span><span style=\"color:rgb(0, 153, 153)\">3<\/span><span style=\"color:rgb(85, 85, 85)\">) como\u00a0<\/span><span style=\"color:rgb(51, 51, 51)\">receitaMilh\u00f5es<\/span><\/span><\/p>\n<p dir=\"ltr\"><span><strong>DE<\/strong><span style=\"color:rgb(85, 85, 85)\"> <\/span><span style=\"color:rgb(51, 51, 51)\">compras<\/span><span style=\"color:rgb(85, 85, 85)\"> <\/span><strong>n\u00e3o registrado<\/strong><span style=\"color:rgb(85, 85, 85)\"> <\/span><span style=\"color:rgb(51, 51, 51)\">compras<\/span><span style=\"color:rgb(85, 85, 85)\">.<\/span><span style=\"color:rgb(51, 51, 51)\">lineItems<\/span><span style=\"color:rgb(85, 85, 85)\"> <\/span><strong>como<\/strong><span style=\"color:rgb(85, 85, 85)\"> <\/span><span style=\"color:rgb(51, 51, 51)\">itens<\/span><span style=\"color:rgb(85, 85, 85)\"> <\/span><strong>unir-se<\/strong><span style=\"color:rgb(85, 85, 85)\"> <\/span><span style=\"color:rgb(51, 51, 51)\">produto<\/span><span style=\"color:rgb(85, 85, 85)\"> <\/span><strong>chave<\/strong><span style=\"color:rgb(85, 85, 85)\"> <\/span><span style=\"color:rgb(51, 51, 51)\">itens<\/span><span style=\"color:rgb(85, 85, 85)\">.<\/span><span style=\"color:rgb(51, 51, 51)\">produto<\/span><\/span><\/p>\n<p dir=\"ltr\"><span><strong>GRUPO<span style=\"color:rgb(85, 85, 85)\"> <\/span>BY<\/strong><span style=\"color:rgb(85, 85, 85)\"> <\/span><span style=\"color:rgb(51, 51, 51)\">substrato<\/span><span style=\"color:rgb(85, 85, 85)\">(<\/span><span style=\"color:rgb(51, 51, 51)\">compras<\/span><span style=\"color:rgb(85, 85, 85)\">.<\/span><span style=\"color:rgb(51, 51, 51)\">purchasedAt<\/span><span style=\"color:rgb(85, 85, 85)\">, <\/span><span style=\"color:rgb(0, 153, 153)\">0<\/span><span style=\"color:rgb(85, 85, 85)\">, <\/span><span style=\"color:rgb(0, 153, 153)\">7<\/span><span style=\"color:rgb(85, 85, 85)\">)<\/span><\/span><\/p>\n<p><span><strong>ORDEM<span style=\"color:rgb(85, 85, 85)\"> <\/span>BY<span style=\"color:rgb(85, 85, 85)\"> <\/span>m\u00eas<\/strong><\/span><\/div>\n<\/div>\n<p><span><img decoding=\"async\" alt=\"\" src=\"https:\/\/www.couchbase.com\/blog\/sites\/default\/files\/uploads\/all\/Screen%20Shot%202014-03-31%20at%208.32.12%20PM.png\" style=\"float:left; height:332px; width:577px\" \/><\/span><\/p>\n<p dir=\"ltr\">\u00a0<\/p>\n<p dir=\"ltr\"><span><strong>Quer mais? <\/strong><\/span><\/p>\n<p><span><span style=\"color:rgb(85, 85, 85)\">Apenas examinamos superficialmente algumas consultas N1QL relacionadas ao com\u00e9rcio eletr\u00f4nico. Para saber mais sobre o N1QL, confira \u00a0<\/span><a href=\"https:\/\/query.couchbase.com\"><u>https:\/\/query.couchbase.com<\/u><\/a><span style=\"color:rgb(85, 85, 85)\"> e n\u00e3o se esque\u00e7a de se registrar para o nosso pr\u00f3ximo <\/span><a href=\"https:\/\/info.couchbase.com\/webinar-N1QL-ad-hoc-querying-for-NoSQL-applications.html\"><u>Webinar N1QL<\/u><\/a><span style=\"color:rgb(85, 85, 85)\"> para analisar esse caso de uso em mais detalhes.<\/span><\/span><\/p>","protected":false},"excerpt":{"rendered":"<p>N1QL is a next generation query language for Couchbase Server. It goes beyond SQL and the relational model in several ways&#8211;most importantly, attributes in N1QL can contain multiple values, and these values can be nested. In this blog, we will [&hellip;]<\/p>","protected":false},"author":4,"featured_media":13873,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1],"tags":[],"ppma_author":[8972],"class_list":["post-1784","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.5 (Yoast SEO v26.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Shopper or Merchant? Check-out N1QL Querying - The Couchbase Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.couchbase.com\/blog\/pt\/shopper-or-merchant-check-out-n1ql-querying\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Shopper or Merchant? Check-out N1QL Querying\" \/>\n<meta property=\"og:description\" content=\"N1QL is a next generation query language for Couchbase Server. It goes beyond SQL and the relational model in several ways&#8211;most importantly, attributes in N1QL can contain multiple values, and these values can be nested. In this blog, we will [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/pt\/shopper-or-merchant-check-out-n1ql-querying\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2014-12-16T18:30:10+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2022\/11\/couchbase-nosql-dbaas.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1800\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Don Pinto, Principal Product Manager, Couchbase\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Don Pinto, Principal Product Manager, Couchbase\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/shopper-or-merchant-check-out-n1ql-querying\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/shopper-or-merchant-check-out-n1ql-querying\/\"},\"author\":{\"name\":\"Don Pinto, Principal Product Manager, Couchbase\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/eb130a1e0278989e089a7fbbf8bc754c\"},\"headline\":\"Shopper or Merchant? Check-out N1QL Querying\",\"datePublished\":\"2014-12-16T18:30:10+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/shopper-or-merchant-check-out-n1ql-querying\/\"},\"wordCount\":477,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/shopper-or-merchant-check-out-n1ql-querying\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"articleSection\":[\"Uncategorized\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/shopper-or-merchant-check-out-n1ql-querying\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/shopper-or-merchant-check-out-n1ql-querying\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/shopper-or-merchant-check-out-n1ql-querying\/\",\"name\":\"Shopper or Merchant? Check-out N1QL Querying - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/shopper-or-merchant-check-out-n1ql-querying\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/shopper-or-merchant-check-out-n1ql-querying\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2014-12-16T18:30:10+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/shopper-or-merchant-check-out-n1ql-querying\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/shopper-or-merchant-check-out-n1ql-querying\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/shopper-or-merchant-check-out-n1ql-querying\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"width\":1800,\"height\":630},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/shopper-or-merchant-check-out-n1ql-querying\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Shopper or Merchant? Check-out N1QL Querying\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"width\":218,\"height\":34,\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/eb130a1e0278989e089a7fbbf8bc754c\",\"name\":\"Don Pinto, Principal Product Manager, Couchbase\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/39c6d6178c73f0dc09af63f930a4f37d\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/574759a111515cb8c5d5a1f5268d2759050bd8383654dc0d9393324f0c35fae0?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/574759a111515cb8c5d5a1f5268d2759050bd8383654dc0d9393324f0c35fae0?s=96&d=mm&r=g\",\"caption\":\"Don Pinto, Principal Product Manager, Couchbase\"},\"description\":\"Don Pinto is a Principal Product Manager at Couchbase and is currently focused on advancing the capabilities of Couchbase Server. He is extremely passionate about data technology, and in the past has authored several articles on Couchbase Server including technical blogs and white papers. Prior to joining Couchbase, Don spent several years at IBM where he maintained the role of software developer in the DB2 information management group and most recently as a program manager on the SQL Server team at Microsoft. Don holds a master's degree in computer science and a bachelor's in computer engineering from the University of Toronto, Canada.\",\"url\":\"https:\/\/www.couchbase.com\/blog\/pt\/author\/don-pinto\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Shopper or Merchant? Check-out N1QL Querying - The Couchbase Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.couchbase.com\/blog\/pt\/shopper-or-merchant-check-out-n1ql-querying\/","og_locale":"pt_BR","og_type":"article","og_title":"Shopper or Merchant? Check-out N1QL Querying","og_description":"N1QL is a next generation query language for Couchbase Server. It goes beyond SQL and the relational model in several ways&#8211;most importantly, attributes in N1QL can contain multiple values, and these values can be nested. In this blog, we will [&hellip;]","og_url":"https:\/\/www.couchbase.com\/blog\/pt\/shopper-or-merchant-check-out-n1ql-querying\/","og_site_name":"The Couchbase Blog","article_published_time":"2014-12-16T18:30:10+00:00","og_image":[{"width":1800,"height":630,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2022\/11\/couchbase-nosql-dbaas.png","type":"image\/png"}],"author":"Don Pinto, Principal Product Manager, Couchbase","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Don Pinto, Principal Product Manager, Couchbase","Est. reading time":"2 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/shopper-or-merchant-check-out-n1ql-querying\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/shopper-or-merchant-check-out-n1ql-querying\/"},"author":{"name":"Don Pinto, Principal Product Manager, Couchbase","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/eb130a1e0278989e089a7fbbf8bc754c"},"headline":"Shopper or Merchant? Check-out N1QL Querying","datePublished":"2014-12-16T18:30:10+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/shopper-or-merchant-check-out-n1ql-querying\/"},"wordCount":477,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/shopper-or-merchant-check-out-n1ql-querying\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","articleSection":["Uncategorized"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/shopper-or-merchant-check-out-n1ql-querying\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/shopper-or-merchant-check-out-n1ql-querying\/","url":"https:\/\/www.couchbase.com\/blog\/shopper-or-merchant-check-out-n1ql-querying\/","name":"Shopper or Merchant? Check-out N1QL Querying - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/shopper-or-merchant-check-out-n1ql-querying\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/shopper-or-merchant-check-out-n1ql-querying\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2014-12-16T18:30:10+00:00","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/shopper-or-merchant-check-out-n1ql-querying\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/shopper-or-merchant-check-out-n1ql-querying\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/shopper-or-merchant-check-out-n1ql-querying\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","width":1800,"height":630},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/shopper-or-merchant-check-out-n1ql-querying\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Shopper or Merchant? Check-out N1QL Querying"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"Blog do Couchbase","description":"Couchbase, o banco de dados NoSQL","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"Blog do Couchbase","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","width":218,"height":34,"caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/eb130a1e0278989e089a7fbbf8bc754c","name":"Don Pinto, gerente principal de produtos da Couchbase","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/39c6d6178c73f0dc09af63f930a4f37d","url":"https:\/\/secure.gravatar.com\/avatar\/574759a111515cb8c5d5a1f5268d2759050bd8383654dc0d9393324f0c35fae0?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/574759a111515cb8c5d5a1f5268d2759050bd8383654dc0d9393324f0c35fae0?s=96&d=mm&r=g","caption":"Don Pinto, Principal Product Manager, Couchbase"},"description":"Don Pinto \u00e9 gerente de produto principal da Couchbase e atualmente est\u00e1 concentrado no avan\u00e7o dos recursos do Couchbase Server. Ele \u00e9 extremamente apaixonado por tecnologia de dados e, no passado, foi autor de v\u00e1rios artigos sobre o Couchbase Server, incluindo blogs t\u00e9cnicos e white papers. Antes de ingressar no Couchbase, Don passou v\u00e1rios anos na IBM, onde ocupou a fun\u00e7\u00e3o de desenvolvedor de software no grupo de gerenciamento de informa\u00e7\u00f5es DB2 e, mais recentemente, como gerente de programa na equipe do SQL Server na Microsoft. Don tem mestrado em ci\u00eancia da computa\u00e7\u00e3o e \u00e9 bacharel em engenharia da computa\u00e7\u00e3o pela Universidade de Toronto, no Canad\u00e1.","url":"https:\/\/www.couchbase.com\/blog\/pt\/author\/don-pinto\/"}]}},"authors":[{"term_id":8972,"user_id":4,"is_guest":0,"slug":"don-pinto","display_name":"Don Pinto, Principal Product Manager, Couchbase","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/574759a111515cb8c5d5a1f5268d2759050bd8383654dc0d9393324f0c35fae0?s=96&d=mm&r=g","author_category":"","last_name":"Pinto, Principal Product Manager, Couchbase","first_name":"Don","job_title":"","user_url":"","description":"Don Pinto \u00e9 gerente de produto principal da Couchbase e atualmente est\u00e1 concentrado no avan\u00e7o dos recursos do Couchbase Server. Ele \u00e9 extremamente apaixonado por tecnologia de dados e, no passado, foi autor de v\u00e1rios artigos sobre o Couchbase Server, incluindo blogs t\u00e9cnicos e white papers. Antes de ingressar no Couchbase, Don passou v\u00e1rios anos na IBM, onde ocupou a fun\u00e7\u00e3o de desenvolvedor de software no grupo de gerenciamento de informa\u00e7\u00f5es DB2 e, mais recentemente, como gerente de programa na equipe do SQL Server na Microsoft. Don tem mestrado em ci\u00eancia da computa\u00e7\u00e3o e \u00e9 bacharel em engenharia da computa\u00e7\u00e3o pela Universidade de Toronto, no Canad\u00e1."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/1784","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/comments?post=1784"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/1784\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media\/13873"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media?parent=1784"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/categories?post=1784"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/tags?post=1784"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/ppma_author?post=1784"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}