{"id":7080,"date":"2019-06-18T10:08:07","date_gmt":"2019-06-18T17:08:07","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=7080"},"modified":"2019-06-19T03:39:54","modified_gmt":"2019-06-19T10:39:54","slug":"introducing-the-couchbase-node-js-sdk-3-0-alpha","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/pt\/introducing-the-couchbase-node-js-sdk-3-0-alpha\/","title":{"rendered":"Apresentando o Couchbase Node.js SDK 3.0 Alpha"},"content":{"rendered":"<p>Um dos desafios de escrever software usado por uma grande variedade de desenvolvedores \u00e9 manter APIs est\u00e1veis e compat\u00edveis entre si. \u00c0s vezes, essa necessidade de compatibilidade pode nos colocar em um canto que restringe nossa capacidade de implementar novos recursos interessantes. Por isso, estou muito animado em anunciar o lan\u00e7amento das vers\u00f5es Alpha do nosso SDK Node.js 3.0. Esse grande aumento de vers\u00e3o permite que nos concentremos novamente na cria\u00e7\u00e3o de APIs poderosas que aproveitam fortemente os novos recursos dispon\u00edveis no ECMAScript 6 e integram de forma mais intuitiva o amplo conjunto de recursos do Couchbase ao Node.js. Tamb\u00e9m tivemos a oportunidade de aproveitar as li\u00e7\u00f5es aprendidas nos \u00faltimos 4 anos do SDK 2.0 e criar APIs mais preparadas para o futuro, o que nos permitir\u00e1 evoluir com a linguagem e os recursos do servidor durante toda a vida \u00fatil dessa pr\u00f3xima gera\u00e7\u00e3o de SDK. Agora que voc\u00ea sabe quais eram nossos objetivos, vamos falar um pouco sobre as mudan\u00e7as resultantes!<\/p>\n<h3>Introdu\u00e7\u00e3o de promessas e Async\/Await<\/h3>\n<p>A vers\u00e3o 3.0 do SDK do Node.js introduz o suporte integrado a Promessas em todas as APIs, o que se presta bem \u00e0 cria\u00e7\u00e3o de c\u00f3digo escrito em s\u00e9rie sem bloqueio usando os novos recursos Async\/Await introduzidos no ECMAScript 6. Todos os m\u00e9todos agora suportam Promessas e o padr\u00e3o de retorno de chamada nativo do c\u00f3digo Javascript mais antigo. Al\u00e9m disso, todos os emissores de eventos foram aprimorados com suporte a promessas. No caso das v\u00e1rias interfaces de consulta dentro do SDK, isso permite que voc\u00ea escolha, caso a caso, se deseja processar os dados em tempo real ou simplesmente aguard\u00e1-los e processar todo o conjunto de resultados de uma s\u00f3 vez.<\/p>\n<h3>Inicializa\u00e7\u00e3o do cluster e dos buckets no SDK 3.0<\/h3>\n<p>Assim como no SDK 2.0, os objetos Cluster e Bucket est\u00e3o de volta no SDK 3.0, cada um representando suas equival\u00eancias de servidor. A conex\u00e3o a um cluster \u00e9 feita de maneira semelhante \u00e0 do SDK 2.0, embora os par\u00e2metros e o padr\u00e3o de autentica\u00e7\u00e3o tenham sido aprimorados:<\/p>\n<pre class=\"\">const couchbase = require('couchbase');\r\n\r\nvar cluster = new couchbase.Cluster('couchbase:\/\/localhost', {\r\n    nome de usu\u00e1rio: 'Administrator',\r\n    senha: 'password',\r\n});\r\n\r\nvar bucket = cluster.bucket('default');<\/pre>\n<p>Semelhante ao SDK 2.0, seus objetos de cluster s\u00e3o objetos de gerenciamento de recursos de longa dura\u00e7\u00e3o, cuja vida \u00fatil geralmente vai da inicializa\u00e7\u00e3o at\u00e9 o encerramento do aplicativo. A partir desta pr\u00f3xima gera\u00e7\u00e3o de SDKs, o restante dos seus objetos pode ter vida curta ou ser mantido sem nenhuma penalidade de desempenho. O SDK armazenar\u00e1 em cache internamente os objetos bucket, objetos de cole\u00e7\u00e3o etc. em seu nome.<\/p>\n<h3>As novas APIs KV para o Couchbase Server 6.5<\/h3>\n<p>Todas as opera\u00e7\u00f5es de chave\/valor agora existem no n\u00edvel das cole\u00e7\u00f5es, que sempre ser\u00e3o membros de exatamente um escopo. No caso de uma vers\u00e3o do servidor que n\u00e3o ofere\u00e7a suporte a cole\u00e7\u00f5es, voc\u00ea ter\u00e1 acesso \u00e0 cole\u00e7\u00e3o padr\u00e3o, que funcionar\u00e1 exatamente como nossos buckets faziam no passado. Aqui est\u00e1 um exemplo de acesso \u00e0 cole\u00e7\u00e3o padr\u00e3o e, em seguida, de grava\u00e7\u00e3o e leitura de alguns dados com ela.<\/p>\n<pre class=\"\">var coll = bucket.defaultCollection();\r\n\r\nvar res = await coll.upsert('test', { x: 14 });\r\n\r\nvar res = await coll.get(\u2018test\u2019);<\/pre>\n<h3>Escopo e cole\u00e7\u00f5es com o modo Developer Preview<\/h3>\n<p>Como parte da pr\u00f3xima vers\u00e3o do Server 6.5, introduzimos a capacidade de ativar um modo de visualiza\u00e7\u00e3o do desenvolvedor que exp\u00f5e alguns recursos futuros que ainda est\u00e3o em desenvolvimento. A ativa\u00e7\u00e3o do recurso Cole\u00e7\u00f5es permite que voc\u00ea acesse um recurso que representa o futuro do acesso a dados com o Couchbase Server 6.5. As cole\u00e7\u00f5es permitem que voc\u00ea divida um Bucket em v\u00e1rios escopos e cole\u00e7\u00f5es l\u00f3gicos. Isso substitui a exig\u00eancia das primeiras vers\u00f5es do servidor Couchbase de adicionar um campo especial de \"tipo\" que designava uma esp\u00e9cie de agrupamento de documentos por nome, que poderia ser consultado independentemente em um Bucket. Acredito que voc\u00ea descobrir\u00e1 que esse \u00e9 um modelo de programa\u00e7\u00e3o muito mais intuitivo e permitir\u00e1 que voc\u00ea mantenha seus dados mais bem organizados. Aqui est\u00e1 um exemplo:<\/p>\n<pre class=\"\">var scope = bucket.scope('app1');\r\nvar coll = scope.collection('users');\r\n\r\nvar res = await coll.upsert('test', { x: 14 });<\/pre>\n<h3>As novas APIs de consulta<\/h3>\n<p>O N1QL, assim como o Analytics e o FTS, \u00e9 considerado de escopo \"global\", pois uma consulta pode fazer refer\u00eancia a v\u00e1rios Buckets. Inicialmente, no SDK 2.0, as consultas N1QL tinham escopo para o Bucket e, posteriormente, foram adicionadas ao Cluster. Atualmente, no SDK 3.0, voc\u00ea s\u00f3 pode fazer consultas a partir do objeto Cluster.<\/p>\n<pre class=\"\">var res = await cluster.query('SELECT * FROM default WHERE x=14');<\/pre>\n<p>De modo geral, todos os servi\u00e7os (Query, FTS e Analytics) t\u00eam uma API p\u00fablica muito semelhante \u00e0 do SDK 2.0; no entanto, para fins de consist\u00eancia, todos os campos obrigat\u00f3rios foram adicionados como um par\u00e2metro no lado esquerdo e os par\u00e2metros opcionais agora est\u00e3o consolidados em um bloco ou estrutura de \"op\u00e7\u00f5es\" no lado direito. Voc\u00ea perceber\u00e1 que isso continua em todo o SDK e melhora muito a consist\u00eancia das nossas APIs.<\/p>\n<pre class=\"\">var res = await cluster.query('SELECT * FROM default', {\r\n    adhoc: false,\r\n    readonly: true,\r\n});<\/pre>\n<h3>Obtendo a libera\u00e7\u00e3o<\/h3>\n<p>Ao instalar a vers\u00e3o alfa do SDK do Node.js 3.0, voc\u00ea pode simplesmente usar o npm como faria normalmente, especificando a vers\u00e3o espec\u00edfica ao realizar a instala\u00e7\u00e3o.<\/p>\n<pre class=\"\">&gt; npm install couchbase@3.0.0-alpha.1<\/pre>","protected":false},"excerpt":{"rendered":"<p>One of the challenges of writing software used by a huge range of developers is maintaining API\u2019s which are stable and cross-compatible. Sometimes this need for compatibility can back us into a corner which restricts our ability to implement exciting [&hellip;]<\/p>","protected":false},"author":31,"featured_media":7097,"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":[9004],"class_list":["post-7080","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.0 (Yoast SEO v26.0) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Introducing the Couchbase Node.js SDK 3.0 Alpha - The Couchbase Blog<\/title>\n<meta name=\"description\" content=\"This post introduces the Couchbase Node.js SDK 3.0 Alpha version which has built-in support for Promises throughout the API&#039;s and new KV APIs.\" \/>\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\/introducing-the-couchbase-node-js-sdk-3-0-alpha\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Introducing the Couchbase Node.js SDK 3.0 Alpha\" \/>\n<meta property=\"og:description\" content=\"This post introduces the Couchbase Node.js SDK 3.0 Alpha version which has built-in support for Promises throughout the API&#039;s and new KV APIs.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/pt\/introducing-the-couchbase-node-js-sdk-3-0-alpha\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2019-06-18T17:08:07+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-06-19T10:39:54+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2019\/06\/New-Project.png\" \/>\n\t<meta property=\"og:image:width\" content=\"2048\" \/>\n\t<meta property=\"og:image:height\" content=\"640\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Brett Lawson, Principal Software Engineer, 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=\"Brett Lawson, Principal Software Engineer, Couchbase\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/introducing-the-couchbase-node-js-sdk-3-0-alpha\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/introducing-the-couchbase-node-js-sdk-3-0-alpha\/\"},\"author\":{\"name\":\"Brett Lawson, Principal Software Engineer, Couchbase\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/5cfc2fbf25776be2a027a474562be02f\"},\"headline\":\"Introducing the Couchbase Node.js SDK 3.0 Alpha\",\"datePublished\":\"2019-06-18T17:08:07+00:00\",\"dateModified\":\"2019-06-19T10:39:54+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/introducing-the-couchbase-node-js-sdk-3-0-alpha\/\"},\"wordCount\":731,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/introducing-the-couchbase-node-js-sdk-3-0-alpha\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/New-Project.png\",\"articleSection\":[\"Uncategorized\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/introducing-the-couchbase-node-js-sdk-3-0-alpha\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/introducing-the-couchbase-node-js-sdk-3-0-alpha\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/introducing-the-couchbase-node-js-sdk-3-0-alpha\/\",\"name\":\"Introducing the Couchbase Node.js SDK 3.0 Alpha - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/introducing-the-couchbase-node-js-sdk-3-0-alpha\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/introducing-the-couchbase-node-js-sdk-3-0-alpha\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/New-Project.png\",\"datePublished\":\"2019-06-18T17:08:07+00:00\",\"dateModified\":\"2019-06-19T10:39:54+00:00\",\"description\":\"This post introduces the Couchbase Node.js SDK 3.0 Alpha version which has built-in support for Promises throughout the API's and new KV APIs.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/introducing-the-couchbase-node-js-sdk-3-0-alpha\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/introducing-the-couchbase-node-js-sdk-3-0-alpha\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/introducing-the-couchbase-node-js-sdk-3-0-alpha\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/New-Project.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/New-Project.png\",\"width\":2048,\"height\":640},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/introducing-the-couchbase-node-js-sdk-3-0-alpha\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Introducing the Couchbase Node.js SDK 3.0 Alpha\"}]},{\"@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\/5cfc2fbf25776be2a027a474562be02f\",\"name\":\"Brett Lawson, Principal Software Engineer, Couchbase\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/ee3586f0c112c20e863af447d44dec8f\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/6aec1ba24ef7558a248dcde7b7a18b15b06e2885b24b663906a448634066c1c4?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/6aec1ba24ef7558a248dcde7b7a18b15b06e2885b24b663906a448634066c1c4?s=96&d=mm&r=g\",\"caption\":\"Brett Lawson, Principal Software Engineer, Couchbase\"},\"description\":\"Brett Lawson is a Principal Software Engineer at Couchbase. Brett is responsible for the design and development of the Couchbase Node.js and PHP clients as well as playing a role in the design and development of the C library, libcouchbase.\",\"url\":\"https:\/\/www.couchbase.com\/blog\/pt\/author\/brett-lawson\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Introducing the Couchbase Node.js SDK 3.0 Alpha - The Couchbase Blog","description":"This post introduces the Couchbase Node.js SDK 3.0 Alpha version which has built-in support for Promises throughout the API's and new KV APIs.","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\/introducing-the-couchbase-node-js-sdk-3-0-alpha\/","og_locale":"pt_BR","og_type":"article","og_title":"Introducing the Couchbase Node.js SDK 3.0 Alpha","og_description":"This post introduces the Couchbase Node.js SDK 3.0 Alpha version which has built-in support for Promises throughout the API's and new KV APIs.","og_url":"https:\/\/www.couchbase.com\/blog\/pt\/introducing-the-couchbase-node-js-sdk-3-0-alpha\/","og_site_name":"The Couchbase Blog","article_published_time":"2019-06-18T17:08:07+00:00","article_modified_time":"2019-06-19T10:39:54+00:00","og_image":[{"width":2048,"height":640,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2019\/06\/New-Project.png","type":"image\/png"}],"author":"Brett Lawson, Principal Software Engineer, Couchbase","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Brett Lawson, Principal Software Engineer, Couchbase","Est. reading time":"4 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/introducing-the-couchbase-node-js-sdk-3-0-alpha\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/introducing-the-couchbase-node-js-sdk-3-0-alpha\/"},"author":{"name":"Brett Lawson, Principal Software Engineer, Couchbase","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/5cfc2fbf25776be2a027a474562be02f"},"headline":"Introducing the Couchbase Node.js SDK 3.0 Alpha","datePublished":"2019-06-18T17:08:07+00:00","dateModified":"2019-06-19T10:39:54+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/introducing-the-couchbase-node-js-sdk-3-0-alpha\/"},"wordCount":731,"commentCount":1,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/introducing-the-couchbase-node-js-sdk-3-0-alpha\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/New-Project.png","articleSection":["Uncategorized"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/introducing-the-couchbase-node-js-sdk-3-0-alpha\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/introducing-the-couchbase-node-js-sdk-3-0-alpha\/","url":"https:\/\/www.couchbase.com\/blog\/introducing-the-couchbase-node-js-sdk-3-0-alpha\/","name":"Introducing the Couchbase Node.js SDK 3.0 Alpha - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/introducing-the-couchbase-node-js-sdk-3-0-alpha\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/introducing-the-couchbase-node-js-sdk-3-0-alpha\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/New-Project.png","datePublished":"2019-06-18T17:08:07+00:00","dateModified":"2019-06-19T10:39:54+00:00","description":"This post introduces the Couchbase Node.js SDK 3.0 Alpha version which has built-in support for Promises throughout the API's and new KV APIs.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/introducing-the-couchbase-node-js-sdk-3-0-alpha\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/introducing-the-couchbase-node-js-sdk-3-0-alpha\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/introducing-the-couchbase-node-js-sdk-3-0-alpha\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/New-Project.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/New-Project.png","width":2048,"height":640},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/introducing-the-couchbase-node-js-sdk-3-0-alpha\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Introducing the Couchbase Node.js SDK 3.0 Alpha"}]},{"@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\/5cfc2fbf25776be2a027a474562be02f","name":"Brett Lawson, engenheiro de software principal, Couchbase","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/ee3586f0c112c20e863af447d44dec8f","url":"https:\/\/secure.gravatar.com\/avatar\/6aec1ba24ef7558a248dcde7b7a18b15b06e2885b24b663906a448634066c1c4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6aec1ba24ef7558a248dcde7b7a18b15b06e2885b24b663906a448634066c1c4?s=96&d=mm&r=g","caption":"Brett Lawson, Principal Software Engineer, Couchbase"},"description":"Brett Lawson \u00e9 engenheiro de software principal da Couchbase. Brett \u00e9 respons\u00e1vel pelo projeto e desenvolvimento dos clientes Node.js e PHP do Couchbase, al\u00e9m de desempenhar um papel no projeto e desenvolvimento da biblioteca C, libcouchbase.","url":"https:\/\/www.couchbase.com\/blog\/pt\/author\/brett-lawson\/"}]}},"authors":[{"term_id":9004,"user_id":31,"is_guest":0,"slug":"brett-lawson","display_name":"Brett Lawson, Principal Software Engineer, Couchbase","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/6aec1ba24ef7558a248dcde7b7a18b15b06e2885b24b663906a448634066c1c4?s=96&d=mm&r=g","author_category":"","last_name":"Lawson","first_name":"Brett","job_title":"","user_url":"","description":"Brett Lawson \u00e9 engenheiro de software principal da Couchbase. Brett \u00e9 respons\u00e1vel pelo projeto e desenvolvimento dos clientes Node.js e PHP do Couchbase, al\u00e9m de desempenhar um papel no projeto e desenvolvimento da biblioteca C, libcouchbase."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/7080","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\/31"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/comments?post=7080"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/7080\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media\/7097"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media?parent=7080"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/categories?post=7080"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/tags?post=7080"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/ppma_author?post=7080"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}