{"id":2105,"date":"2016-01-03T04:52:53","date_gmt":"2016-01-03T04:52:53","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=2105"},"modified":"2025-06-13T19:28:04","modified_gmt":"2025-06-14T02:28:04","slug":"hashing-passwords-stored-in-couchbase-server-with-nodejs","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/es\/hashing-passwords-stored-in-couchbase-server-with-nodejs\/","title":{"rendered":"Hashing de contrase\u00f1as almacenadas en Couchbase Server con Node.js"},"content":{"rendered":"<h2>Por qu\u00e9 debe hach\u00eds<\/h2>\n<p>Todas las contrase\u00f1as se deben cifrar antes de entrar en una base de datos porque hay que tener en cuenta el escenario en el que alg\u00fan usuario malintencionado intente entrar en tus datos. Las contrase\u00f1as son informaci\u00f3n sensible que no quieres que nadie vea.<\/p>\n<p>No confundamos el cifrado con el hash. Cifrar algo supone que m\u00e1s tarde puede ser descifrado. Aunque esto es mejor que dejarlo como texto plano, lo que realmente queremos es algo que no pueda ser desencriptado. Esto es lo que nos ofrece el hashing.<\/p>\n<h2>Hashing con Bcrypt<\/h2>\n<p>Para este ejemplo vamos a utilizar el m\u00e1s popular <a href=\"https:\/\/www.npmjs.com\/package\/bcryptjs\">bcryptjs<\/a> para Node.js. Sin embargo, sigue las mismas reglas que otras librer\u00edas Bcrypt est\u00e1ndar. Pasas una cadena para ser hash y normalmente tambi\u00e9n una sal.<\/p>\n<p>Para el ejemplo de <strong>bcryptjs<\/strong> har\u00edas algo como esto, seg\u00fan la documentaci\u00f3n:<\/p>\n<pre><code class=\"language-javascript\">\r\nvar bcrypt = require(\"bcryptjs\");\r\nvar salt = bcrypt.genSaltSync(10);\r\nvar hash = bcrypt.hashSync(\"my-password\", salt);\r\n<\/code><\/pre>\n<p>El hash resultante no ser\u00eda legible para el ser humano y, por tanto, seguro de almacenar en una base de datos. Pero, \u00bfc\u00f3mo se comparan las contrase\u00f1as en el caso de que haya que implementar un inicio de sesi\u00f3n de usuario?<\/p>\n<h2>Validaci\u00f3n con contrase\u00f1as guardadas<\/h2>\n<p>Las librer\u00edas Bcrypt siempre tienen una funci\u00f3n para comparar una contrase\u00f1a de texto plano contra un hash. As\u00ed es como se validar\u00eda una contrase\u00f1a en el escenario de inicio de sesi\u00f3n de usuario.<\/p>\n<pre><code class=\"language-javascript\">\r\nbcrypt.compareSync(\"wrong-password\", hash);\r\nbcrypt.compareSync(\"my-password\", hash);\r\n<\/code><\/pre>\n<p>Las dos l\u00edneas anteriores fueron tomadas de la documentaci\u00f3n. En la primera l\u00ednea, la comparaci\u00f3n fallar\u00e1 y devolver\u00e1 false al usuario. En este caso usted sabe que los valores son err\u00f3neos sin siquiera saber cu\u00e1l es realmente la contrase\u00f1a hash. En el caso de la segunda l\u00ednea, las contrase\u00f1as coinciden y obtendr\u00e1 una respuesta verdadera.<\/p>\n<h2>Un ejemplo pr\u00e1ctico<\/h2>\n<p>Hagamos un ejemplo pr\u00e1ctico de lo que hemos aprendido arriba. Crear un nuevo directorio en alg\u00fan lugar y en ella crear un nuevo <strong>paquete.json<\/strong> con el siguiente JSON:<\/p>\n<pre><code class=\"language-json\">\r\n{\r\n    \"name\": \"password-hashing-example\",\r\n    \"version\": \"1.0.0\",\r\n    \"description\": \"An example of using the Node.js SDK for Couchbase and Bcrypt to hash passwords\",\r\n    \"author\": \"Couchbase, Inc.\",\r\n    \"license\": \"MIT\",\r\n    \"dependencies\": {\r\n        \"bcryptjs\": \"^2.3.0\",\r\n        \"couchbase\": \"^2.0.8\",\r\n        \"uuid\": \"^2.0.1\"\r\n    }\r\n}\r\n<\/code><\/pre>\n<p>Las partes importantes son las dependencias. Estamos incluyendo <strong>bcryptjs<\/strong> para el hash, <strong>couchbase<\/strong> para la comunicaci\u00f3n con Couchbase a trav\u00e9s de nuestra aplicaci\u00f3n, y <strong>uuid<\/strong> para generar claves de documento \u00fanicas.<\/p>\n<p>Ahora tenemos que crear un nuevo archivo llamado <strong>config.json<\/strong> en el directorio de nuestro proyecto e incluye el siguiente JSON:<\/p>\n<pre><code class=\"language-json\">\r\n{\r\n    \"couchbase\": {\r\n        \"server\": \"127.0.0.1:8091\",\r\n        \"bucket\": \"restful-sample\"\r\n    }\r\n}\r\n<\/code><\/pre>\n<p>Deber\u00edas cambiar el servidor y el cubo por lo que tengas pensado utilizar.<\/p>\n<p>Ahora viene lo divertido Crea un archivo llamado <strong>app.js<\/strong> ya que aqu\u00ed es donde ir\u00e1 todo nuestro c\u00f3digo. Tenga en cuenta que esto es un ejemplo, por lo que la funcionalidad ser\u00e1 limitada. A\u00f1ada el siguiente c\u00f3digo JavaScript al archivo <strong>app.js<\/strong> file:<\/p>\n<pre><code class=\"language-javascript\">\r\nvar couchbase = require(\"couchbase\");\r\nvar bcrypt = require(\"bcryptjs\");\r\nvar uuid = require(\"uuid\");\r\nvar config = require(\".\/config\");\r\n\r\nvar bucket = (new couchbase.Cluster(config.couchbase.server)).openBucket(config.couchbase.bucket);\r\n\r\nvar jsonData = {\r\n    id: uuid.v4(),\r\n    username: \"nraboy\",\r\n    password: bcrypt.hashSync(\"my-password\", 10)\r\n}\r\n\r\nbucket.insert(\"user::\" + jsonData.id, jsonData, function(error, result) {\r\n    bucket.get(\"user::\" + jsonData.id, function(error, result) {\r\n        console.log(\"Password Match -&gt; \" + bcrypt.compareSync(\"wrong-password\", result.value.password));\r\n        console.log(\"Password Match -&gt; \" + bcrypt.compareSync(\"my-password\", result.value.password));\r\n    });\r\n});\r\n<\/code><\/pre>\n<p>B\u00e1sicamente estamos creando un documento JSON con una contrase\u00f1a hash e insert\u00e1ndolo en Couchbase Server. Una vez completada la inserci\u00f3n, obtenemos el documento y comparamos las contrase\u00f1as.<\/p>\n<h2>Conclusi\u00f3n<\/h2>\n<p>Nunca debes almacenar contrase\u00f1as en texto plano en tu base de datos. No importa cu\u00e1n segura sea tu base de datos o qu\u00e9 tipo de base de datos est\u00e9s usando. Usando el algoritmo hash Bcrypt en tus contrase\u00f1as puedes a\u00f1adir una tremenda cantidad de seguridad para tus usuarios.<\/p>\n<p>En <a href=\"https:\/\/www.npmjs.com\/package\/bcryptjs\">bcryptjs<\/a> para Node.js es s\u00f3lo una de las muchas bibliotecas adecuadas que pueden realizar esta tarea.<\/p>","protected":false},"excerpt":{"rendered":"<p>Why You Should Hash All passwords should be hashed before entering a database because you have to consider the scenario where some malicious user attempts to gain entry into your data. Passwords are sensitive pieces of information that you don&#8217;t [&hellip;]<\/p>","protected":false},"author":63,"featured_media":13873,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1816,1822,1813],"tags":[1560,1559],"ppma_author":[9032],"class_list":["post-2105","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-couchbase-server","category-node-js","category-security","tag-bcrypt","tag-hashing"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.7.1 (Yoast SEO v25.7) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Hashing Passwords Stored in Couchbase Server with Node.js<\/title>\n<meta name=\"description\" content=\"Learn why to use hash and check how the Bcrypt hashing algorithm on your passwords can add a tremendous amount of security for your users.\" \/>\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\/hashing-passwords-stored-in-couchbase-server-with-nodejs\/\" \/>\n<meta property=\"og:locale\" content=\"es_MX\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Hashing Passwords Stored in Couchbase Server with Node.js\" \/>\n<meta property=\"og:description\" content=\"Learn why to use hash and check how the Bcrypt hashing algorithm on your passwords can add a tremendous amount of security for your users.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/es\/hashing-passwords-stored-in-couchbase-server-with-nodejs\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/thepolyglotdeveloper\" \/>\n<meta property=\"article:published_time\" content=\"2016-01-03T04:52:53+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-14T02:28:04+00:00\" \/>\n<meta name=\"author\" content=\"Nic Raboy, Developer Advocate, Couchbase\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@nraboy\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Nic Raboy, Developer Advocate, Couchbase\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/hashing-passwords-stored-in-couchbase-server-with-nodejs\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/hashing-passwords-stored-in-couchbase-server-with-nodejs\/\"},\"author\":{\"name\":\"Nic Raboy, Developer Advocate, Couchbase\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/bb545ebe83bb2d12f91095811d0a72e1\"},\"headline\":\"Hashing Passwords Stored in Couchbase Server with Node.js\",\"datePublished\":\"2016-01-03T04:52:53+00:00\",\"dateModified\":\"2025-06-14T02:28:04+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/hashing-passwords-stored-in-couchbase-server-with-nodejs\/\"},\"wordCount\":520,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/hashing-passwords-stored-in-couchbase-server-with-nodejs\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"keywords\":[\"bcrypt\",\"hashing\"],\"articleSection\":[\"Couchbase Server\",\"Node.js\",\"Security\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/hashing-passwords-stored-in-couchbase-server-with-nodejs\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/hashing-passwords-stored-in-couchbase-server-with-nodejs\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/hashing-passwords-stored-in-couchbase-server-with-nodejs\/\",\"name\":\"Hashing Passwords Stored in Couchbase Server with Node.js\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/hashing-passwords-stored-in-couchbase-server-with-nodejs\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/hashing-passwords-stored-in-couchbase-server-with-nodejs\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2016-01-03T04:52:53+00:00\",\"dateModified\":\"2025-06-14T02:28:04+00:00\",\"description\":\"Learn why to use hash and check how the Bcrypt hashing algorithm on your passwords can add a tremendous amount of security for your users.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/hashing-passwords-stored-in-couchbase-server-with-nodejs\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/hashing-passwords-stored-in-couchbase-server-with-nodejs\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/hashing-passwords-stored-in-couchbase-server-with-nodejs\/#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\/hashing-passwords-stored-in-couchbase-server-with-nodejs\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Hashing Passwords Stored in Couchbase Server with Node.js\"}]},{\"@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\/bb545ebe83bb2d12f91095811d0a72e1\",\"name\":\"Nic Raboy, Developer Advocate, Couchbase\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/8863514d8bed0cf6080f23db40e00354\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/bedeb68368d4681aca4c74fe5f697f0c423b80d498ec50fd915ba018b72c101f?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/bedeb68368d4681aca4c74fe5f697f0c423b80d498ec50fd915ba018b72c101f?s=96&d=mm&r=g\",\"caption\":\"Nic Raboy, Developer Advocate, Couchbase\"},\"description\":\"Nic Raboy is an advocate of modern web and mobile development technologies. He has experience in Java, JavaScript, Golang and a variety of frameworks such as Angular, NativeScript, and Apache Cordova. Nic writes about his development experiences related to making web and mobile development easier to understand.\",\"sameAs\":[\"https:\/\/www.thepolyglotdeveloper.com\",\"https:\/\/www.facebook.com\/thepolyglotdeveloper\",\"https:\/\/x.com\/nraboy\"],\"url\":\"https:\/\/www.couchbase.com\/blog\/es\/author\/nic-raboy-2\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Hashing de contrase\u00f1as almacenadas en Couchbase Server con Node.js","description":"Learn why to use hash and check how the Bcrypt hashing algorithm on your passwords can add a tremendous amount of security for your users.","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\/hashing-passwords-stored-in-couchbase-server-with-nodejs\/","og_locale":"es_MX","og_type":"article","og_title":"Hashing Passwords Stored in Couchbase Server with Node.js","og_description":"Learn why to use hash and check how the Bcrypt hashing algorithm on your passwords can add a tremendous amount of security for your users.","og_url":"https:\/\/www.couchbase.com\/blog\/es\/hashing-passwords-stored-in-couchbase-server-with-nodejs\/","og_site_name":"The Couchbase Blog","article_author":"https:\/\/www.facebook.com\/thepolyglotdeveloper","article_published_time":"2016-01-03T04:52:53+00:00","article_modified_time":"2025-06-14T02:28:04+00:00","author":"Nic Raboy, Developer Advocate, Couchbase","twitter_card":"summary_large_image","twitter_creator":"@nraboy","twitter_misc":{"Written by":"Nic Raboy, Developer Advocate, Couchbase","Est. reading time":"3 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/hashing-passwords-stored-in-couchbase-server-with-nodejs\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/hashing-passwords-stored-in-couchbase-server-with-nodejs\/"},"author":{"name":"Nic Raboy, Developer Advocate, Couchbase","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/bb545ebe83bb2d12f91095811d0a72e1"},"headline":"Hashing Passwords Stored in Couchbase Server with Node.js","datePublished":"2016-01-03T04:52:53+00:00","dateModified":"2025-06-14T02:28:04+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/hashing-passwords-stored-in-couchbase-server-with-nodejs\/"},"wordCount":520,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/hashing-passwords-stored-in-couchbase-server-with-nodejs\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","keywords":["bcrypt","hashing"],"articleSection":["Couchbase Server","Node.js","Security"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/hashing-passwords-stored-in-couchbase-server-with-nodejs\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/hashing-passwords-stored-in-couchbase-server-with-nodejs\/","url":"https:\/\/www.couchbase.com\/blog\/hashing-passwords-stored-in-couchbase-server-with-nodejs\/","name":"Hashing de contrase\u00f1as almacenadas en Couchbase Server con Node.js","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/hashing-passwords-stored-in-couchbase-server-with-nodejs\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/hashing-passwords-stored-in-couchbase-server-with-nodejs\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2016-01-03T04:52:53+00:00","dateModified":"2025-06-14T02:28:04+00:00","description":"Learn why to use hash and check how the Bcrypt hashing algorithm on your passwords can add a tremendous amount of security for your users.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/hashing-passwords-stored-in-couchbase-server-with-nodejs\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/hashing-passwords-stored-in-couchbase-server-with-nodejs\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/hashing-passwords-stored-in-couchbase-server-with-nodejs\/#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\/hashing-passwords-stored-in-couchbase-server-with-nodejs\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Hashing Passwords Stored in Couchbase Server with Node.js"}]},{"@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\/bb545ebe83bb2d12f91095811d0a72e1","name":"Nic Raboy, Defensor del Desarrollador, Couchbase","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/8863514d8bed0cf6080f23db40e00354","url":"https:\/\/secure.gravatar.com\/avatar\/bedeb68368d4681aca4c74fe5f697f0c423b80d498ec50fd915ba018b72c101f?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/bedeb68368d4681aca4c74fe5f697f0c423b80d498ec50fd915ba018b72c101f?s=96&d=mm&r=g","caption":"Nic Raboy, Developer Advocate, Couchbase"},"description":"Nic Raboy es un defensor de las tecnolog\u00edas modernas de desarrollo web y m\u00f3vil. Tiene experiencia en Java, JavaScript, Golang y una variedad de frameworks como Angular, NativeScript y Apache Cordova. Nic escribe sobre sus experiencias de desarrollo relacionadas con hacer el desarrollo web y m\u00f3vil m\u00e1s f\u00e1cil de entender.","sameAs":["https:\/\/www.thepolyglotdeveloper.com","https:\/\/www.facebook.com\/thepolyglotdeveloper","https:\/\/x.com\/nraboy"],"url":"https:\/\/www.couchbase.com\/blog\/es\/author\/nic-raboy-2\/"}]}},"authors":[{"term_id":9032,"user_id":63,"is_guest":0,"slug":"nic-raboy-2","display_name":"Nic Raboy, Developer Advocate, Couchbase","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/bedeb68368d4681aca4c74fe5f697f0c423b80d498ec50fd915ba018b72c101f?s=96&d=mm&r=g","first_name":"Nic","last_name":"Raboy","user_url":"https:\/\/www.thepolyglotdeveloper.com","author_category":"","description":"Nic Raboy es un defensor de las tecnolog\u00edas modernas de desarrollo web y m\u00f3vil. Tiene experiencia en Java, JavaScript, Golang y una variedad de frameworks como Angular, NativeScript y Apache Cordova. Nic escribe sobre sus experiencias de desarrollo relacionadas con hacer el desarrollo web y m\u00f3vil m\u00e1s f\u00e1cil de entender."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/2105","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\/63"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/comments?post=2105"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/2105\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media\/13873"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media?parent=2105"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/categories?post=2105"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/tags?post=2105"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/ppma_author?post=2105"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}