{"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\/es\/introducing-the-couchbase-node-js-sdk-3-0-alpha\/","title":{"rendered":"Presentaci\u00f3n de Couchbase Node.js SDK 3.0 Alpha"},"content":{"rendered":"<p>Uno de los retos a la hora de escribir software utilizado por un gran n\u00famero de desarrolladores es mantener API estables y compatibles entre s\u00ed. A veces, esta necesidad de compatibilidad puede arrinconarnos y limitar nuestra capacidad de implementar nuevas funciones interesantes. En vista de ello, me complace anunciar el lanzamiento de las versiones Alpha de nuestro SDK Node.js 3.0. Este importante salto de versi\u00f3n nos permite centrarnos de nuevo en la construcci\u00f3n de potentes APIs que aprovechen al m\u00e1ximo las nuevas caracter\u00edsticas disponibles en ECMAScript 6 e integren de forma m\u00e1s intuitiva el amplio conjunto de caracter\u00edsticas de Couchbase en Node.js. Tambi\u00e9n tuvimos la oportunidad de aprovechar las lecciones aprendidas durante los \u00faltimos 4 a\u00f1os del SDK 2.0 y construir APIs m\u00e1s preparadas para el futuro que nos permitir\u00e1n evolucionar con el lenguaje y las caracter\u00edsticas del servidor a lo largo de la vida de esta nueva generaci\u00f3n de SDK. Ahora que ya sabes cu\u00e1les eran nuestros objetivos, hablemos un poco de los cambios resultantes.<\/p>\n<h3>Introducci\u00f3n de Promesas y Async\/Await<\/h3>\n<p>La versi\u00f3n 3.0 del SDK de Node.js introduce soporte integrado para Promises a trav\u00e9s de las APIs, esto se presta bien para escribir c\u00f3digo no-bloqueante escrito en serie usando las nuevas caracter\u00edsticas Async\/Await introducidas en ECMAScript 6. Todos los m\u00e9todos soportan ahora tanto Promises como el patr\u00f3n callback nativo del c\u00f3digo Javascript m\u00e1s antiguo. Adem\u00e1s, todos los emisores de eventos han sido mejorados con soporte para promesas. En el caso de las diversas interfaces de consulta dentro del SDK, esto le permite elegir en cada caso si desea procesar los datos sobre la marcha, o simplemente esperar y procesar todo el conjunto de resultados a la vez.<\/p>\n<h3>Inicializaci\u00f3n del cl\u00faster y los cubos en SDK 3.0<\/h3>\n<p>Al igual que en SDK 2.0, los objetos Cluster y Bucket est\u00e1n de vuelta en SDK 3.0, cada uno representando sus equivalencias de servidor. La conexi\u00f3n a un cl\u00faster se realiza de forma similar a SDK 2.0, aunque los par\u00e1metros y el patr\u00f3n de autenticaci\u00f3n se han mejorado:<\/p>\n<pre class=\"\">const couchbase = require('couchbase');\r\n\r\nvar cluster = new couchbase.Cluster('couchbase:\/\/localhost', {\r\n    username: 'Administrator',\r\n    password: 'password',\r\n});\r\n\r\nvar bucket = cluster.bucket('default');<\/pre>\n<p>Al igual que en SDK 2.0, los objetos Cluster son objetos de gesti\u00f3n de recursos de larga duraci\u00f3n, cuya vida se extiende generalmente desde el inicio hasta el cierre de la aplicaci\u00f3n. A partir de esta nueva generaci\u00f3n de SDKs, el resto de tus objetos pueden ser de vida corta, o mantenerse sin tener ninguna penalizaci\u00f3n de rendimiento. El SDK almacenar\u00e1 internamente en cach\u00e9 objetos bucket, objetos collection, etc. en tu nombre.<\/p>\n<h3>Las nuevas API de KV para Couchbase Server 6.5<\/h3>\n<p>Todas las operaciones clave\/valor existen ahora en el nivel de las colecciones, que siempre ser\u00e1n miembros de exactamente un \u00e1mbito. En el caso de una versi\u00f3n del Servidor que no soporte colecciones, tendr\u00e1 acceso a la colecci\u00f3n por defecto que funcionar\u00e1 exactamente como lo hac\u00edan nuestros buckets en el pasado. He aqu\u00ed un ejemplo de acceso a la Colecci\u00f3n por defecto y luego escribir y leer algunos datos con ella.<\/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>\u00c1mbito y colecciones con el modo Vista previa para desarrolladores<\/h3>\n<p>Como parte de la pr\u00f3xima versi\u00f3n de Server 6.5, hemos introducido la posibilidad de activar un modo de vista previa para desarrolladores que expone algunas de las pr\u00f3ximas caracter\u00edsticas que a\u00fan est\u00e1n en desarrollo. Activar la caracter\u00edstica de Colecciones te permite acceder a una caracter\u00edstica que representa el futuro del acceso a datos con Couchbase Server 6.5. Collections te permite dividir un Bucket en m\u00faltiples Scopes y Collections l\u00f3gicos. Esto sustituye al requisito de las primeras versiones de Couchbase Server de a\u00f1adir un campo especial \"type\" que designaba una especie de agrupaci\u00f3n de documentos por nombre que pod\u00edan ser consultados independientemente dentro de un Bucket. Creo que encontrar\u00e1s que es un modelo de programaci\u00f3n mucho m\u00e1s intuitivo y te permitir\u00e1 mantener tus datos mejor organizados. Aqu\u00ed tienes un ejemplo:<\/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>Las nuevas API de consulta<\/h3>\n<p>N1QL, al igual que Analytics y FTS, se consideran de \u00e1mbito \"global\" en el sentido de que una consulta puede hacer referencia a varios Buckets. Inicialmente en el SDK 2.0, las consultas N1QL ten\u00edan como \u00e1mbito el Bucket y m\u00e1s tarde se a\u00f1adieron al Cluster. En SDK 3.0 actualmente s\u00f3lo se puede consultar desde el objeto Cluster.<\/p>\n<pre class=\"\">var res = await cluster.query('SELECT * FROM default WHERE x=14');<\/pre>\n<p>En general, todos los servicios (Query, FTS y Analytics) tienen una API p\u00fablica muy similar a la del SDK 2.0. Sin embargo, por motivos de coherencia, todos los campos obligatorios se han a\u00f1adido como par\u00e1metros en el lado izquierdo y los par\u00e1metros opcionales se han consolidado en un bloque o estructura de \"opciones\" en el lado derecho. Observar\u00e1 que esto contin\u00faa en todo el SDK y mejora enormemente la coherencia de nuestras API.<\/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>Conseguir la liberaci\u00f3n<\/h3>\n<p>Para instalar la versi\u00f3n alfa del SDK de Node.js 3.0, basta con utilizar npm como se har\u00eda normalmente, especificando la versi\u00f3n concreta al realizar la instalaci\u00f3n.<\/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.2 (Yoast SEO v26.2) - 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\/es\/introducing-the-couchbase-node-js-sdk-3-0-alpha\/\" \/>\n<meta property=\"og:locale\" content=\"es_MX\" \/>\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\/es\/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\":\"es\",\"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\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/introducing-the-couchbase-node-js-sdk-3-0-alpha\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@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\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@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\":\"es\",\"@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\/es\/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\/es\/introducing-the-couchbase-node-js-sdk-3-0-alpha\/","og_locale":"es_MX","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\/es\/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":"es","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":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/introducing-the-couchbase-node-js-sdk-3-0-alpha\/"]}]},{"@type":"ImageObject","inLanguage":"es","@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":"El blog de Couchbase","description":"Couchbase, la base de datos 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":"es"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"El blog de Couchbase","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"es","@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, Ingeniero de Software Principal, Couchbase","image":{"@type":"ImageObject","inLanguage":"es","@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 es Ingeniero de Software Principal en Couchbase. Brett es responsable del dise\u00f1o y desarrollo de los clientes Node.js y PHP de Couchbase, adem\u00e1s de participar en el dise\u00f1o y desarrollo de la biblioteca C, libcouchbase.","url":"https:\/\/www.couchbase.com\/blog\/es\/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 es Ingeniero de Software Principal en Couchbase. Brett es responsable del dise\u00f1o y desarrollo de los clientes Node.js y PHP de Couchbase, adem\u00e1s de participar en el dise\u00f1o y desarrollo de la biblioteca C, libcouchbase."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/7080","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/users\/31"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/comments?post=7080"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/7080\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media\/7097"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media?parent=7080"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/categories?post=7080"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/tags?post=7080"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/ppma_author?post=7080"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}