{"id":10128,"date":"2021-02-10T04:06:49","date_gmt":"2021-02-10T12:06:49","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=10128"},"modified":"2023-05-18T05:31:36","modified_gmt":"2023-05-18T12:31:36","slug":"new-features-in-couchbase-sdk-3-1","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/es\/new-features-in-couchbase-sdk-3-1\/","title":{"rendered":"\u00a1Nuevas caracter\u00edsticas en Couchbase SDK 3.1!"},"content":{"rendered":"<p>En la primavera de 2020, lanzamos la \u00faltima renovaci\u00f3n del SDK de Couchbase: 3.0. Lanzado junto con Couchbase Server 6.5.0 y ofreciendo soporte temprano y experimental para Scopes y Collections, tambi\u00e9n inclu\u00eda una API completamente nueva y consistencia entre las diferentes plataformas. Aunque SDK 3.0 fue un hito importante en la historia de Couchbase, fue s\u00f3lo otra mejora incremental para los desarrolladores que trabajan con Couchbase Server. Couchbase Server contin\u00faa evolucionando a\u00f1adiendo nuevas caracter\u00edsticas y es por eso que ahora estamos lanzando Couchbase SDK 3.1.0 con a\u00fan m\u00e1s mejoras para cosas como el soporte de FTS Geo Polygon y Bucket Durability Management entre otras.<\/p>\n<p>Este post revisa cada nueva caracter\u00edstica a\u00f1adida a trav\u00e9s de todos los SDKs de Couchbase. Los ejemplos est\u00e1n en C# pero se esperan implementaciones idiom\u00e1ticas similares en todos los SDKs ya sea Java, Go u otro lenguaje.<\/p>\n<h3>Soporte FTS Geo Polygon<\/h3>\n<p>Para aumentar los dos tipos de consultas Geo, <a href=\"https:\/\/docs.couchbase.com\/server\/7.0\/fts\/fts-geospatial-queries.html#creating_geospatial_rest_query_radius_based\">Punto Distancia<\/a> y <a href=\"https:\/\/docs.couchbase.com\/server\/7.0\/fts\/fts-geospatial-queries.html#creating_geospatial_rest_query_bounding_box_based\">Rect\u00e1ngulo delimitado<\/a>ya soportado por Couchbase, en 6.5.0 <a href=\"https:\/\/docs.couchbase.com\/server\/7.0\/fts\/fts-geospatial-queries.html#creating_geospatial_rest_query_polygon_based\">Consultas Geo Bounded Polygon<\/a> . Las consultas de distancia de puntos son \u00fatiles para encontrar cosas como restaurantes cerca de usted y distancia ordenada cerca de usted. Las consultas de rect\u00e1ngulo delimitado ayudan a encontrar restaurantes dentro de un l\u00edmite rectangular espec\u00edfico cerca de usted, como una manzana. Las consultas de pol\u00edgono delimitado geogr\u00e1ficamente permiten encontrar restaurantes dentro de un pol\u00edgono delimitado aleatoriamente utilizando una matriz de pares de coordenadas como par\u00e1metros de entrada.<\/p>\n<pre class=\"lang:c# decode:true\" title=\"Apoyo del Geopol\u00edgono\"> var query = new GeoPolygonQuery(new List&lt;Coordinate&gt;\r\n {\r\n    Coordinate.OfLatLon(37.79393211306212, -122.44234633404847),\r\n    Coordinate.OfLatLon(37.779958817339967, -122.43977141339417),\r\n    Coordinate.OfLatLon(37.788031092020155, -122.42925715405579),\r\n    Coordinate.OfLatLon(37.79026946582319, -122.41149020154114),\r\n    Coordinate.OfLatLon(37.79571192027403, -122.40735054016113),\r\n    Coordinate.OfLatLon(37.79393211306212, -122.44234633404847)\r\n }).Field(\"geo\");\r\n\r\n var results = await cluster.SearchQueryAsync(\"food-idx\", query);\r\n foreach (var result in results)\r\n {\r\n     \/\/do something with the results.\r\n }\r\n<\/pre>\n<p>Puede obtener m\u00e1s informaci\u00f3n sobre las consultas de Geo Polygon en <a href=\"https:\/\/www.couchbase.com\/blog\/es\/introducing-geo-bounded-polygon-query-in-full-text-search\/\">esta entrada del blog.<\/a><\/p>\n<h3>Gesti\u00f3n de la durabilidad de los cubos<\/h3>\n<p><a href=\"https:\/\/docs.couchbase.com\/server\/7.0\/learn\/data\/durability.html\">Garant\u00edas de nivel de durabilidad<\/a> persistencia de los documentos: si un documento se ha transferido al disco o no y en cu\u00e1ntas r\u00e9plicas se ha escrito.<\/p>\n<p>En las versiones anteriores de Couchbase Server y SDK, la configuraci\u00f3n del nivel de durabilidad s\u00f3lo pod\u00eda ser proporcionada a trav\u00e9s de K\/V Operation, esto podr\u00eda convertirse r\u00e1pidamente en un proceso repetitivo y mundano, especialmente en el caso de que las garant\u00edas de persistencia fueran las mismas en todos los documentos dentro de un Bucket. A partir de Couchbase Server 6.6 ahora podemos a\u00f1adir Durabilidad como un ajuste a nivel de Bucket. Esta caracter\u00edstica est\u00e1 ahora disponible para usted a trav\u00e9s de SDK 3.1 Couchbase Server 6.6 a\u00f1ade durabilidad a nivel de Bucket que permite una cierta durabilidad que se aplicar\u00e1 a todos los documentos dentro de un bucket. En Couchbase SDK 3.1.0 continuamos el soporte en los SDKs usando el Bucket Management API.<\/p>\n<pre class=\"lang:c# decode:true\" title=\"Durabilidad de la cuchara \">var settings = new BucketSettings\r\n            {\r\n                Name = name,\r\n                BucketType = BucketType.Couchbase,\r\n                RamQuotaMB = 100,\r\n                EvictionPolicy = EvictionPolicyType.FullEviction,\r\n                DurabilityMinimumLevel = DurabilityLevel.Majority\r\n            };\r\n \r\n\/\/ create\r\nawait bucketManager.CreateBucketAsync(settings).ConfigureAwait(false);\r\n<\/pre>\n<p>Los niveles de durabilidad admitidos son:<\/p>\n<ul>\n<li><strong>Mayor\u00eda<\/strong> - el documento debe haberse replicado en la mayor\u00eda de los nodos configurados de un cl\u00faster<\/li>\n<li><strong>Mayor\u00edaYPersistenciaActiva<\/strong> - lo mismo que Mayor\u00eda, pero el documento tambi\u00e9n debe persistir en el nodo activo para que se cumplan los requisitos de durabilidad.<\/li>\n<li><strong>PersistToMajority<\/strong> - el documento debe persistir en disco en la mayor\u00eda de los nodos configurados.<\/li>\n<\/ul>\n<p>El nivel de persistencia por defecto es ninguno, pero se puede especificar el nivel de durabilidad al insertar o actualizar el documento.<\/p>\n<h3>Gesti\u00f3n ef\u00edmera de cubos<\/h3>\n<p>Esta funci\u00f3n permite establecer la pol\u00edtica de desalojo de documentos para cubos ef\u00edmeros en el momento de su creaci\u00f3n mediante la API de gesti\u00f3n.  Ahora se admiten las siguientes pol\u00edticas de desalojo:<\/p>\n<ul>\n<li><strong>Desahucio NRU<\/strong> - Cuando se alcanza la cuota de memoria, Couchbase Server expulsa los datos que no se han utilizado recientemente.<\/li>\n<li><strong>No desahucio<\/strong> - Couchbase Server mantiene todos los datos hasta que se borran expl\u00edcitamente, pero rechazar\u00e1 cualquier dato nuevo si se alcanza la cuota (memoria dedicada) establecida para el bucket.<\/li>\n<\/ul>\n<p>He aqu\u00ed un ejemplo de configuraci\u00f3n de desalojo NRU:<\/p>\n<pre class=\"lang:c# decode:true\" title=\"Gesti\u00f3n de cubos ef\u00edmeros\">var bucketManager = cluster.Buckets;\r\n \r\nvar settings = new BucketSettings\r\n{\r\n    Name = \u201csome-bucket\u201d,\r\n    BucketType = BucketType.Ephemeral,\r\n    RamQuotaMB = 100,\r\n    EvictionPolicy = EvictionPolicyType.NotRecentlyUsed\r\n};\r\nawait bucketManager.CreateBucketAsync(settings).ConfigureAwait(false);\r\n<\/pre>\n<p>Si no se especifica, el valor predeterminado es Sin desalojo.<\/p>\n<h3>\u00cdndice FTS Flex<\/h3>\n<p><b>\u00cdndice FTS Flex<\/b><\/p>\n<p><a href=\"https:\/\/www.couchbase.com\/blog\/es\/announcing-flex-index-with-couchbase\/\">\u00cdndice Flex<\/a> ofrece al desarrollador la posibilidad de utilizar Couchbase Query Service para aprovechar las capacidades de b\u00fasqueda. Por ejemplo, N1QL utiliza \u00edndices B-Tree ya que tienen selectividad y FTS utiliza \u00edndices invertidos que proporcionan baja selectividad o \"fuzziness\"; Flex Index te permite combinar para consultas que son tanto exactas como difusas simplemente proporcionando una pista al servicio en cuanto a qu\u00e9 comportamiento deseas. Desde el SDK, esta funcionalidad se expone mediante un simple indicador en el objeto QueryOptions que indica al servicio N1QL que considere el uso de cualquier \u00edndice FTS para realizar la consulta.<\/p>\n<pre class=\"lang:c# decode:true\" title=\"\u00cdndices Flex\">var result = await cluster.QueryAsync&lt;dynamic&gt;(\"SELECT * FROM `default` WHERE type=$name;\",\r\n            options =&gt;\r\n            {\r\n                options.Parameter(\"name\", \"person\");\r\n                options.FlexIndex(true);\r\n            }).ConfigureAwait(false);\r\n<\/pre>\n<p>Para utilizar Flex Indexes basta con establecer la propiedad o el m\u00e9todo FlexIndex en la clase QueryOptions.<\/p>\n<h3>Par\u00e1metro de puntuaci\u00f3n FTS<\/h3>\n<p>Como optimizaci\u00f3n, ahora se puede desactivar la puntuaci\u00f3n al realizar consultas de b\u00fasqueda. Esto se expone como un par\u00e1metro de bloque de opci\u00f3n pasado:<\/p>\n<pre class=\"lang:c# decode:true\" title=\"Puntuaci\u00f3n FTS\">var results = await cluster.SearchQueryAsync(IndexName,\r\n                    new MatchQuery(\"inn\"), options =&gt;\r\n                    {\r\n                        options.Limit(10);\r\n                        options.DisableScoring(true);\r\n                    });\r\n<\/pre>\n<p>La puntuaci\u00f3n se desactivar\u00e1 si se pasa true, de lo contrario se incluir\u00e1 en la respuesta.<\/p>\n<h3>GetResult.Expiry ha sido obsoleto<\/h3>\n<p>Por fin, <code>GetResult.Expiry<\/code> ha quedado obsoleto y se ha sustituido por <code>GetResult.ExpiryTime<\/code> que especifica una instancia en el tiempo en lugar de una duraci\u00f3n.<\/p>\n<h3>Comentarios, por favor.<\/h3>\n<p>Estas son las nuevas caracter\u00edsticas que se han a\u00f1adido a Couchbase SDK 3.1 para Couchbase Server 6.6 y 7.0. Esperamos que las encuentres \u00fatiles y si\u00e9ntete libre de proporcionar comentarios en nuestro <a href=\"https:\/\/www.couchbase.com\/blog\/es\/forums\/\">foros<\/a> o pregunte a un experto de Couchbase.<\/p>","protected":false},"excerpt":{"rendered":"<p>In the spring of 2020, we released the latest revamp of the Couchbase SDK: 3.0. Shipping alongside Couchbase Server 6.5.0 and offering early, experimental support for Scopes and Collections, it also included a completely new API and consistency across the [&hellip;]<\/p>","protected":false},"author":21,"featured_media":13873,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[2201],"tags":[2194,7522,2221],"ppma_author":[8970],"class_list":["post-10128","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tools-sdks","tag-durability","tag-flex-index","tag-transactions"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.8 (Yoast SEO v25.8) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>New Features in Couchbase SDK 3.1! - 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\/new-features-in-couchbase-sdk-3-1\/\" \/>\n<meta property=\"og:locale\" content=\"es_MX\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"New Features in Couchbase SDK 3.1!\" \/>\n<meta property=\"og:description\" content=\"In the spring of 2020, we released the latest revamp of the Couchbase SDK: 3.0. Shipping alongside Couchbase Server 6.5.0 and offering early, experimental support for Scopes and Collections, it also included a completely new API and consistency across the [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/es\/new-features-in-couchbase-sdk-3-1\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2021-02-10T12:06:49+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-05-18T12:31:36+00:00\" \/>\n<meta name=\"author\" content=\"Jeff Morris, Senior Software Engineer, Couchbase\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@jeffrysmorris\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jeff Morris, Senior 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\/new-features-in-couchbase-sdk-3-1\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/new-features-in-couchbase-sdk-3-1\/\"},\"author\":{\"name\":\"Jeff Morris, Senior Software Engineer, Couchbase\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/b678bdd9f7b21a33d43ea965865a3341\"},\"headline\":\"New Features in Couchbase SDK 3.1!\",\"datePublished\":\"2021-02-10T12:06:49+00:00\",\"dateModified\":\"2023-05-18T12:31:36+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/new-features-in-couchbase-sdk-3-1\/\"},\"wordCount\":768,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/new-features-in-couchbase-sdk-3-1\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"keywords\":[\"durability\",\"Flex Index\",\"transactions\"],\"articleSection\":[\"Tools &amp; SDKs\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/new-features-in-couchbase-sdk-3-1\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/new-features-in-couchbase-sdk-3-1\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/new-features-in-couchbase-sdk-3-1\/\",\"name\":\"New Features in Couchbase SDK 3.1! - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/new-features-in-couchbase-sdk-3-1\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/new-features-in-couchbase-sdk-3-1\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2021-02-10T12:06:49+00:00\",\"dateModified\":\"2023-05-18T12:31:36+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/new-features-in-couchbase-sdk-3-1\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/new-features-in-couchbase-sdk-3-1\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/new-features-in-couchbase-sdk-3-1\/#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\/new-features-in-couchbase-sdk-3-1\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"New Features in Couchbase SDK 3.1!\"}]},{\"@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\/b678bdd9f7b21a33d43ea965865a3341\",\"name\":\"Jeff Morris, Senior Software Engineer, Couchbase\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/73188ee2831025d81740e12e1ed80812\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/5f910befdbd58de8bac85293df7f544680843061ecc921ba7d293d6d52076ab3?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/5f910befdbd58de8bac85293df7f544680843061ecc921ba7d293d6d52076ab3?s=96&d=mm&r=g\",\"caption\":\"Jeff Morris, Senior Software Engineer, Couchbase\"},\"description\":\"Jeff Morris is a Senior Software Engineer at Couchbase. Prior to joining Couchbase, Jeff spent six years at Source Interlink as an Enterprise Web Architect. Jeff is responsible for the development of Couchbase SDKs and how to integrate with N1QL (query language).\",\"sameAs\":[\"https:\/\/x.com\/jeffrysmorris\"],\"url\":\"https:\/\/www.couchbase.com\/blog\/es\/author\/jeff-morris\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"New Features in Couchbase SDK 3.1! - 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\/new-features-in-couchbase-sdk-3-1\/","og_locale":"es_MX","og_type":"article","og_title":"New Features in Couchbase SDK 3.1!","og_description":"In the spring of 2020, we released the latest revamp of the Couchbase SDK: 3.0. Shipping alongside Couchbase Server 6.5.0 and offering early, experimental support for Scopes and Collections, it also included a completely new API and consistency across the [&hellip;]","og_url":"https:\/\/www.couchbase.com\/blog\/es\/new-features-in-couchbase-sdk-3-1\/","og_site_name":"The Couchbase Blog","article_published_time":"2021-02-10T12:06:49+00:00","article_modified_time":"2023-05-18T12:31:36+00:00","author":"Jeff Morris, Senior Software Engineer, Couchbase","twitter_card":"summary_large_image","twitter_creator":"@jeffrysmorris","twitter_misc":{"Written by":"Jeff Morris, Senior Software Engineer, Couchbase","Est. reading time":"4 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/new-features-in-couchbase-sdk-3-1\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/new-features-in-couchbase-sdk-3-1\/"},"author":{"name":"Jeff Morris, Senior Software Engineer, Couchbase","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/b678bdd9f7b21a33d43ea965865a3341"},"headline":"New Features in Couchbase SDK 3.1!","datePublished":"2021-02-10T12:06:49+00:00","dateModified":"2023-05-18T12:31:36+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/new-features-in-couchbase-sdk-3-1\/"},"wordCount":768,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/new-features-in-couchbase-sdk-3-1\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","keywords":["durability","Flex Index","transactions"],"articleSection":["Tools &amp; SDKs"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/new-features-in-couchbase-sdk-3-1\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/new-features-in-couchbase-sdk-3-1\/","url":"https:\/\/www.couchbase.com\/blog\/new-features-in-couchbase-sdk-3-1\/","name":"New Features in Couchbase SDK 3.1! - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/new-features-in-couchbase-sdk-3-1\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/new-features-in-couchbase-sdk-3-1\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2021-02-10T12:06:49+00:00","dateModified":"2023-05-18T12:31:36+00:00","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/new-features-in-couchbase-sdk-3-1\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/new-features-in-couchbase-sdk-3-1\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/new-features-in-couchbase-sdk-3-1\/#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\/new-features-in-couchbase-sdk-3-1\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"New Features in Couchbase SDK 3.1!"}]},{"@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\/b678bdd9f7b21a33d43ea965865a3341","name":"Jeff Morris, Ingeniero Superior de Software, Couchbase","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/73188ee2831025d81740e12e1ed80812","url":"https:\/\/secure.gravatar.com\/avatar\/5f910befdbd58de8bac85293df7f544680843061ecc921ba7d293d6d52076ab3?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5f910befdbd58de8bac85293df7f544680843061ecc921ba7d293d6d52076ab3?s=96&d=mm&r=g","caption":"Jeff Morris, Senior Software Engineer, Couchbase"},"description":"Jeff Morris es Ingeniero de Software Senior en Couchbase. Antes de unirse a Couchbase, Jeff pas\u00f3 seis a\u00f1os en Source Interlink como Arquitecto Web Empresarial. Jeff es responsable del desarrollo de los SDK de Couchbase y de c\u00f3mo integrarse con N1QL (lenguaje de consulta).","sameAs":["https:\/\/x.com\/jeffrysmorris"],"url":"https:\/\/www.couchbase.com\/blog\/es\/author\/jeff-morris\/"}]}},"authors":[{"term_id":8970,"user_id":21,"is_guest":0,"slug":"jeff-morris","display_name":"Jeff Morris, Senior Software Engineer, Couchbase","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/5f910befdbd58de8bac85293df7f544680843061ecc921ba7d293d6d52076ab3?s=96&d=mm&r=g","author_category":"","last_name":"Jeff Morris, Senior Software Engineer, Couchbase","first_name":"Jeff","job_title":"","user_url":"","description":"Jeff Morris es Ingeniero de Software Senior en Couchbase. Antes de unirse a Couchbase, Jeff pas\u00f3 seis a\u00f1os en Source Interlink como Arquitecto Web Empresarial. Jeff es responsable del desarrollo de los SDK de Couchbase y de c\u00f3mo integrarse con N1QL (lenguaje de consulta)."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/10128","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\/21"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/comments?post=10128"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/10128\/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=10128"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/categories?post=10128"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/tags?post=10128"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/ppma_author?post=10128"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}