{"id":2450,"date":"2016-12-08T15:15:00","date_gmt":"2016-12-08T15:15:00","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=2450"},"modified":"2025-10-09T07:27:34","modified_gmt":"2025-10-09T14:27:34","slug":"using-the-n1ql-returning-keyword-from-net-core","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/es\/using-the-n1ql-returning-keyword-from-net-core\/","title":{"rendered":"Uso de la palabra clave N1QL RETURNING de .NET Core"},"content":{"rendered":"<div id=\"preamble\">\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Hace poco me enter\u00e9 de la existencia de la palabra clave RETURNING en <a href=\"https:\/\/www.couchbase.com\/blog\/es\/products\/n1ql\/\">N1QL<\/a>. Cuando lo a\u00f1ades al final de una consulta N1QL, esa consulta devolver\u00e1 el conjunto de resultados sobre el que se ha operado. Por ejemplo, si utilizas un UPDATE, y esa consulta actualiza 10 documentos, el RETURNING devolver\u00e1 esos 10 documentos.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Puede utilizarlo en sus aplicaciones .NET y .NET Core <a href=\"https:\/\/www.couchbase.com\/blog\/es\/developers\/?utm_source=blogs&amp;utm_medium=link&amp;utm_campaign=blogs\">Couchbase<\/a> aplicaciones.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"truebasic-setup\">Configuraci\u00f3n b\u00e1sica<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Esta entrada de blog asume que tienes Couchbase Server configurado localmente, un bucket creado llamado \"default\", y al menos un \u00edndice primario creado en ese bucket.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><em>Nota: si est\u00e1s teniendo problemas para empezar con Couchbase Server, o est\u00e1s recibiendo errores, especialmente en lo que respecta a la indexaci\u00f3n N1QL, es posible que desees revisar algunas de mis entradas del blog \"Getting Started\":<\/em> <a href=\"https:\/\/www.couchbase.com\/blog\/es\/couchbase-with-windows-and-.net---part-1\/\">Couchbase con Windows Parte 1<\/a> <em>y<\/em> <a href=\"https:\/\/www.couchbase.com\/blog\/es\/couchbase-with-windows-and-.net---part-2\/\">Couchbase con Windows Parte 2<\/a> <em>en particular<\/em>.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Estoy utilizando un simple proyecto de consola .NET Core, con las mismas herramientas y configuraci\u00f3n que utilic\u00e9 en mi proyecto de <a href=\"https:\/\/www.couchbase.com\/blog\/es\/.net-core-with-visual-studio-code\/\">Publicaci\u00f3n en el blog de .NET Core con Visual Studio Code<\/a>.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"truecoding-with-net-and-n1ql\">Codificaci\u00f3n con .NET y N1QL<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>La mayor parte de este c\u00f3digo deber\u00eda ser bastante familiar si has usado .NET y Couchbase antes. Estoy creando 5 documentos que tienen (inicialmente) un campo procesado establecido en <code>falso<\/code>. El c\u00f3digo siguiente los inserta. Tambi\u00e9n los escribe en la consola con fines ilustrativos.<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlightjs highlight\"><code class=\"language-C#\">for(var i = 0;i &lt; 5; i++) {\r\n    var docKey = Guid.NewGuid().ToString();\r\n    var docContent = new {\r\n            foo = \"bar\",\r\n            type = \"example\",\r\n            processed = false,\r\n            dt = DateTime.Now\r\n    };\r\n    var docContentJson = JsonConvert.SerializeObject(docContent);\r\n    bucket.Insert(new Document {\r\n        Id = docKey,\r\n        Content = docContent\r\n    });\r\n\r\n    Console.WriteLine($\"Inserted: {docKey} - {docContentJson}\");\r\n}<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>A continuaci\u00f3n, este c\u00f3digo ejecuta inmediatamente un N1QL <code>ACTUALIZACI\u00d3N<\/code> para fijar todos los <code>procesado<\/code> a verdadero. Tambi\u00e9n tiene un <code>DEVOLVER<\/code> al final para devolver los documentos y las claves.<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlightjs highlight\"><code class=\"language-C#\">var n1ql = @\"UPDATE `default` d\r\n                SET processed = true\r\n                WHERE d.type = 'example'\r\n                AND d.processed = false\r\n                RETURNING d.*, META().id AS docKey\";\r\nvar query = QueryRequest.Create(n1ql);\r\nquery.ScanConsistency(ScanConsistency.RequestPlus);\r\nvar results = bucket.Query(query);<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>Por \u00faltimo, el siguiente c\u00f3digo imprime el JSON devuelto en la consola con fines ilustrativos.<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlightjs highlight\"><code class=\"language-C#\">foreach(var result in results.Rows) {\r\n    var resultJson = JsonConvert.SerializeObject(result);\r\n    Console.WriteLine($\"Returned: {resultJson}\");\r\n}<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"truerunning-the-program\">Ejecutar el programa<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Para ejecutar este programa, basta con introducir <code>ejecutar dotnet<\/code> en la ventana de la consola. Usted debe ver una salida como esta:<\/p>\n<\/div>\n<div class=\"imageblock\">\n<div class=\"content\"><img decoding=\"async\" src=\"\/wp-content\/original-assets\/2016\/december\/using-the-n1ql-returning-keyword-from-.net-core\/042_01_consoleoutput.png\" alt=\"Console output demonstrating the N1QL RETURNING keyword\" \/><\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"truesummary\">Resumen<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>En <code>DEVOLVER<\/code> puede ahorrarle un paso al actualizar\/insertar un grupo de documentos. Pruebe a experimentar con una <code>ACTUALIZACI\u00d3N<\/code> para ver qu\u00e9 ocurre. Por ejemplo, pruebe a utilizar <code>FALTA<\/code> en lugar de depender de un indicador booleano como \"procesado\".<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>En <a href=\"https:\/\/github.com\/couchbaselabs\/blog-source-code\/tree\/master\/Groves\/042N1QLReturningKeywordWithDotNet\/src\">el c\u00f3digo fuente completo de esta entrada del blog est\u00e1 disponible en Github<\/a>.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Si tiene alguna pregunta, deje un comentario o <a href=\"https:\/\/twitter.com\/mgroves\">p\u00f3ngase en contacto conmigo en Twitter<\/a>.<\/p>\n<\/div>\n<\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>I\u2019ve recently learned about the RETURNING keyword in N1QL. When you add it to end of a N1QL query, that query will return the result set that was operated on. For instance, if you use an UPDATE, and that query [&hellip;]<\/p>","protected":false},"author":71,"featured_media":13873,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1811,10127,1816,1812],"tags":[],"ppma_author":[8937],"class_list":["post-2450","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dotnet","category-c-sharp","category-couchbase-server","category-n1ql-query"],"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>Using the N1QL RETURNING keyword from .NET Core - 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\/es\/using-the-n1ql-returning-keyword-from-net-core\/\" \/>\n<meta property=\"og:locale\" content=\"es_MX\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Using the N1QL RETURNING keyword from .NET Core\" \/>\n<meta property=\"og:description\" content=\"I\u2019ve recently learned about the RETURNING keyword in N1QL. When you add it to end of a N1QL query, that query will return the result set that was operated on. For instance, if you use an UPDATE, and that query [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/es\/using-the-n1ql-returning-keyword-from-net-core\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2016-12-08T15:15:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-09T14:27:34+00:00\" \/>\n<meta name=\"author\" content=\"Matthew Groves\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@mgroves\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Matthew Groves\" \/>\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\/using-the-n1ql-returning-keyword-from-net-core\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/using-the-n1ql-returning-keyword-from-net-core\/\"},\"author\":{\"name\":\"Matthew Groves\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/3929663e372020321b0152dc4fa65a58\"},\"headline\":\"Using the N1QL RETURNING keyword from .NET Core\",\"datePublished\":\"2016-12-08T15:15:00+00:00\",\"dateModified\":\"2025-10-09T14:27:34+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/using-the-n1ql-returning-keyword-from-net-core\/\"},\"wordCount\":354,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/using-the-n1ql-returning-keyword-from-net-core\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"articleSection\":[\".NET\",\"C#\",\"Couchbase Server\",\"SQL++ \/ N1QL Query\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/using-the-n1ql-returning-keyword-from-net-core\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/using-the-n1ql-returning-keyword-from-net-core\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/using-the-n1ql-returning-keyword-from-net-core\/\",\"name\":\"Using the N1QL RETURNING keyword from .NET Core - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/using-the-n1ql-returning-keyword-from-net-core\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/using-the-n1ql-returning-keyword-from-net-core\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2016-12-08T15:15:00+00:00\",\"dateModified\":\"2025-10-09T14:27:34+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/using-the-n1ql-returning-keyword-from-net-core\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/using-the-n1ql-returning-keyword-from-net-core\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/using-the-n1ql-returning-keyword-from-net-core\/#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\/using-the-n1ql-returning-keyword-from-net-core\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Using the N1QL RETURNING keyword from .NET Core\"}]},{\"@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\/3929663e372020321b0152dc4fa65a58\",\"name\":\"Matthew Groves\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/ba51e6aacc53995c323a634e4502ef54\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g\",\"caption\":\"Matthew Groves\"},\"description\":\"Matthew D. Groves is a guy who loves to code. It doesn't matter if it's C#, jQuery, or PHP: he'll submit pull requests for anything. He has been coding professionally ever since he wrote a QuickBASIC point-of-sale app for his parent's pizza shop back in the 90s. He currently works as a Senior Product Marketing Manager for Couchbase. His free time is spent with his family, watching the Reds, and getting involved in the developer community. He is the author of AOP in .NET, Pro Microservices in .NET, a Pluralsight author, and a Microsoft MVP.\",\"sameAs\":[\"https:\/\/crosscuttingconcerns.com\",\"https:\/\/x.com\/mgroves\"],\"url\":\"https:\/\/www.couchbase.com\/blog\/es\/author\/matthew-groves\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Using the N1QL RETURNING keyword from .NET Core - 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\/es\/using-the-n1ql-returning-keyword-from-net-core\/","og_locale":"es_MX","og_type":"article","og_title":"Using the N1QL RETURNING keyword from .NET Core","og_description":"I\u2019ve recently learned about the RETURNING keyword in N1QL. When you add it to end of a N1QL query, that query will return the result set that was operated on. For instance, if you use an UPDATE, and that query [&hellip;]","og_url":"https:\/\/www.couchbase.com\/blog\/es\/using-the-n1ql-returning-keyword-from-net-core\/","og_site_name":"The Couchbase Blog","article_published_time":"2016-12-08T15:15:00+00:00","article_modified_time":"2025-10-09T14:27:34+00:00","author":"Matthew Groves","twitter_card":"summary_large_image","twitter_creator":"@mgroves","twitter_misc":{"Written by":"Matthew Groves","Est. reading time":"2 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/using-the-n1ql-returning-keyword-from-net-core\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/using-the-n1ql-returning-keyword-from-net-core\/"},"author":{"name":"Matthew Groves","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/3929663e372020321b0152dc4fa65a58"},"headline":"Using the N1QL RETURNING keyword from .NET Core","datePublished":"2016-12-08T15:15:00+00:00","dateModified":"2025-10-09T14:27:34+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/using-the-n1ql-returning-keyword-from-net-core\/"},"wordCount":354,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/using-the-n1ql-returning-keyword-from-net-core\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","articleSection":[".NET","C#","Couchbase Server","SQL++ \/ N1QL Query"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/using-the-n1ql-returning-keyword-from-net-core\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/using-the-n1ql-returning-keyword-from-net-core\/","url":"https:\/\/www.couchbase.com\/blog\/using-the-n1ql-returning-keyword-from-net-core\/","name":"Using the N1QL RETURNING keyword from .NET Core - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/using-the-n1ql-returning-keyword-from-net-core\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/using-the-n1ql-returning-keyword-from-net-core\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2016-12-08T15:15:00+00:00","dateModified":"2025-10-09T14:27:34+00:00","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/using-the-n1ql-returning-keyword-from-net-core\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/using-the-n1ql-returning-keyword-from-net-core\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/using-the-n1ql-returning-keyword-from-net-core\/#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\/using-the-n1ql-returning-keyword-from-net-core\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Using the N1QL RETURNING keyword from .NET Core"}]},{"@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\/3929663e372020321b0152dc4fa65a58","name":"Matthew Groves","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/ba51e6aacc53995c323a634e4502ef54","url":"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g","caption":"Matthew Groves"},"description":"A Matthew D. Groves le encanta programar. No importa si se trata de C#, jQuery o PHP: enviar\u00e1 pull requests para cualquier cosa. Lleva codificando profesionalmente desde que escribi\u00f3 una aplicaci\u00f3n de punto de venta en QuickBASIC para la pizzer\u00eda de sus padres, all\u00e1 por los a\u00f1os noventa. Actualmente trabaja como Director de Marketing de Producto para Couchbase. Su tiempo libre lo pasa con su familia, viendo a los Reds y participando en la comunidad de desarrolladores. Es autor de AOP in .NET, Pro Microservices in .NET, autor de Pluralsight y MVP de Microsoft.","sameAs":["https:\/\/crosscuttingconcerns.com","https:\/\/x.com\/mgroves"],"url":"https:\/\/www.couchbase.com\/blog\/es\/author\/matthew-groves\/"}]}},"authors":[{"term_id":8937,"user_id":71,"is_guest":0,"slug":"matthew-groves","display_name":"Matthew Groves","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g","author_category":"","last_name":"Groves","first_name":"Matthew","job_title":"","user_url":"https:\/\/crosscuttingconcerns.com","description":"A Matthew D. Groves le encanta programar.  No importa si se trata de C#, jQuery o PHP: enviar\u00e1 pull requests para cualquier cosa.  Lleva codificando profesionalmente desde que escribi\u00f3 una aplicaci\u00f3n de punto de venta en QuickBASIC para la pizzer\u00eda de sus padres, all\u00e1 por los a\u00f1os noventa.  Actualmente trabaja como Director de Marketing de Producto para Couchbase. Su tiempo libre lo pasa con su familia, viendo a los Reds y participando en la comunidad de desarrolladores.  Es autor de AOP in .NET, Pro Microservices in .NET, autor de Pluralsight y MVP de Microsoft."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/2450","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\/71"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/comments?post=2450"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/2450\/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=2450"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/categories?post=2450"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/tags?post=2450"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/ppma_author?post=2450"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}