{"id":2526,"date":"2017-02-09T10:46:35","date_gmt":"2017-02-09T10:46:35","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=2526"},"modified":"2025-06-13T18:46:25","modified_gmt":"2025-06-14T01:46:25","slug":"using-autonumber-in-couchbase","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/es\/using-autonumber-in-couchbase\/","title":{"rendered":"Uso de Autonumber en Couchbase"},"content":{"rendered":"<p dir=\"ltr\" style=\"line-height: 1.7999999999999998;margin-top: 6pt;margin-bottom: 15pt\"><a style=\"text-decoration: none\" href=\"https:\/\/www.linkedin.com\/in\/ratnopam-chakrabarti\"><span style=\"font-size: 11pt;font-family: Arial;color: #1155cc;background-color: transparent;font-style: italic;text-decoration: underline;vertical-align: baseline\"><img loading=\"lazy\" decoding=\"async\" class=\"size-thumbnail wp-image-2542 alignright\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2017\/02\/ratnopamchakrabarti2-150x150.jpeg\" alt=\"Ratnopam Chakrabarti\" width=\"150\" height=\"150\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/02\/ratnopamchakrabarti2-150x150.jpeg 150w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/02\/ratnopamchakrabarti2-65x65.jpeg 65w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/02\/ratnopamchakrabarti2-50x50.jpeg 50w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/>Ratnopam Chakrabarti<\/span><\/a><span style=\"font-size: 11pt;font-family: Arial;color: #000000;background-color: transparent;font-style: italic;vertical-align: baseline\"> es un desarrollador de software que trabaja actualmente para Ericsson Inc. Lleva bastante tiempo centrado en IoT, tecnolog\u00edas m\u00e1quina a m\u00e1quina, coches conectados y dominios de ciudades inteligentes. Le encanta aprender nuevas tecnolog\u00edas y ponerlas en pr\u00e1ctica. Cuando no est\u00e1 trabajando, le gusta pasar tiempo con su hijo de 3 a\u00f1os.<\/span><\/p>\n<p dir=\"ltr\" style=\"line-height: 1.7999999999999998;margin-top: 6pt;margin-bottom: 0pt\"><span style=\"font-size: 16pt;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">Inserci\u00f3n de documentos con teclas secuenciales (autonumeraci\u00f3n)<\/span><\/p>\n<p dir=\"ltr\" style=\"line-height: 1.38;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 11pt;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">Durante el proceso de desarrollo de software, a menudo nos encontramos con una situaci\u00f3n en la que necesitamos generar una clave \u00fanica (de una entidad) de forma secuencial ordenada (ya sea en orden creciente o decreciente). Algunos ejemplos comunes son:<\/span><\/p>\n<ol style=\"margin-top: 0pt;margin-bottom: 0pt\">\n<li dir=\"ltr\" style=\"list-style-type: lower-alpha;font-size: 11pt;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">\n<p dir=\"ltr\" style=\"line-height: 1.38;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 11pt;background-color: transparent;vertical-align: baseline\">Almacenamiento de entradas de un archivo de registro con un n\u00famero de secuencia autogenerado asignado a cada fila de datos.<\/span><\/p>\n<\/li>\n<li dir=\"ltr\" style=\"list-style-type: lower-alpha;font-size: 11pt;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">\n<p dir=\"ltr\" style=\"line-height: 1.38;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 11pt;background-color: transparent;vertical-align: baseline\">Almacenar entidades empresariales en una base de datos y tener una clave primaria generada a partir de un n\u00famero de secuencia incremental.<\/span><\/p>\n<\/li>\n<\/ol>\n<p dir=\"ltr\" style=\"line-height: 1.38;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 11pt;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">En el mundo de las bases de datos relacionales, esto se consigue haciendo uso de algo conocido como \"secuencia de base de datos\". La secuencia es una caracter\u00edstica proporcionada por la mayor\u00eda de los productos de bases de datos que simplemente crea valores num\u00e9ricos \u00fanicos de forma ordenada. Simplemente incrementa un valor y lo devuelve. Sin una secuencia de base de datos no es muy f\u00e1cil generar n\u00fameros \u00fanicos en un orden determinado. Por eso es una opci\u00f3n popular cuando se trata de rellenar una clave primaria (o cualquier clave \u00fanica) con valores \u00fanicos autoincrementables.<\/span><\/p>\n<p dir=\"ltr\" style=\"line-height: 1.38;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 11pt;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">Otras formas de generar claves aleatoriamente \u00fanicas incluyen el uso de funciones como GUID o UUID. Sin embargo, no existe ninguna garant\u00eda en cuanto a la naturaleza de autoincremento que se obtiene al utilizar un generador de secuencias de base de datos.<\/span><\/p>\n<h2 dir=\"ltr\" style=\"line-height: 1.38;margin-top: 18pt;margin-bottom: 6pt\"><span style=\"font-size: 16pt;font-family: Arial;color: #000000;background-color: transparent;font-weight: 400;vertical-align: baseline\">Sin secuencia en las bases de datos NoSQL<\/span><\/h2>\n<p dir=\"ltr\" style=\"line-height: 1.38;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 11pt;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">A diferencia del mundo de las bases de datos relacionales, la mayor\u00eda de las bases de datos NoSQL del mercado no disponen de una funci\u00f3n integrada de generaci\u00f3n de secuencias. Se podr\u00eda argumentar que no es habitual que un sistema distribuido con datos de forma libre tenga un n\u00famero \u00fanico autoincremental que sirva como clave \u00fanica en un documento debido a los n\u00fameros conflictivos que se generan en el caso de la replicaci\u00f3n cruzada de datos entre diferentes nodos y fragmentos. En su lugar, la implementaci\u00f3n de un UUID parece una opci\u00f3n mucho m\u00e1s viable para garantizar la unicidad. Sin embargo, si necesitas un ID \u00fanico generado aleatoriamente en una secuencia, entonces de alguna manera necesitas tener una columna de secuencia de incremento autom\u00e1tico en una base de datos NoSQL, porque la soluci\u00f3n UUID no preservar\u00eda la naturaleza secuencial de los n\u00fameros generados. La pregunta principal: \u00bfC\u00f3mo manejar esto usando Couchbase? Bueno, Couchbase lo tiene cubierto y eso es lo que este post describir\u00e1.<\/span><\/p>\n<h2 dir=\"ltr\" style=\"line-height: 1.38;margin-top: 18pt;margin-bottom: 6pt\"><span style=\"font-size: 16pt;font-family: Arial;color: #000000;background-color: transparent;font-weight: 400;vertical-align: baseline\">Configurar un bucket Couchbase para guardar los datos<\/span><\/h2>\n<p dir=\"ltr\" style=\"line-height: 1.38;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 11pt;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">Digamos que estamos almacenando art\u00edculos de un cat\u00e1logo de productos en Couchbase, y mientras almacenamos los productos en un bucket de Couchbase necesitamos establecer una secuencia generada en cada uno de los datos JSON del producto para que pueda ser utilizado como una \"clave\" identificable de forma \u00fanica de un documento.<\/span><\/p>\n<p dir=\"ltr\" style=\"line-height: 1.38;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 11pt;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">Para ello, siga estos pasos para crear un cubo llamado \"prodcat\".<\/span><\/p>\n<ul dir=\"ltr\">\n<li style=\"line-height: 1.38;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 11pt;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">En primer lugar, inicie sesi\u00f3n en la consola administrativa de Couchbase.<\/span><\/li>\n<li style=\"line-height: 1.38;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 11pt;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">Tipo <\/span><a style=\"text-decoration: none\" href=\"https:\/\/localhost:8091\/ui\/index.html\"><span style=\"font-size: 11pt;font-family: Arial;color: #1155cc;background-color: transparent;text-decoration: underline;vertical-align: baseline\">https:\/\/localhost:8091\/ui\/index.html<\/span><\/a><span style=\"font-size: 11pt;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\"> en tu navegador.<\/span><\/li>\n<li style=\"line-height: 1.38;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 11pt;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\"><span style=\"font-size: 11pt;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">Inicie sesi\u00f3n con el nombre de usuario y la contrase\u00f1a admin.<\/span><\/span><\/li>\n<li style=\"line-height: 1.38;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 11pt;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\"><span style=\"font-size: 11pt;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\"><span style=\"font-size: 11pt;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">Vaya a la pesta\u00f1a Cubos de datos y haga clic en Crear nuevo cubo de datos.<\/span><\/span><\/span><\/li>\n<\/ul>\n<ul dir=\"ltr\">\n<li style=\"line-height: 1.38;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 11pt;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">Introduzca \"prodcat\" en el campo Bucket Name y 512 en el campo Per Node RAM Quota.<\/span><\/li>\n<\/ul>\n<ul dir=\"ltr\">\n<li style=\"line-height: 1.38;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 11pt;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">Deje todos los dem\u00e1s campos por defecto y haga clic en \"Crear\".<\/span><\/li>\n<li style=\"line-height: 1.38;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 11pt;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\"><span style=\"font-size: 11pt;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">Una vez que el cubo se haya creado correctamente, aparecer\u00e1 con 0 elementos.<\/span><\/span><\/li>\n<\/ul>\n<h2 dir=\"ltr\" style=\"line-height: 1.38;margin-top: 18pt;margin-bottom: 6pt\"><span style=\"font-size: 16pt;font-family: Arial;color: #000000;background-color: transparent;font-weight: 400;vertical-align: baseline\">Utilizaci\u00f3n de contradocumentos<\/span><\/h2>\n<p dir=\"ltr\" style=\"line-height: 1.38;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 11pt;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">Couchbase maneja la generaci\u00f3n de secuencias mediante lo que se conoce como un documento \"contador\". Contador es un documento que puede ser incrementado o decrementado secuencialmente. Algo importante a tener en cuenta aqu\u00ed es que la operaci\u00f3n de incremento o decremento del contador es at\u00f3mica. Cuando insertamos una entidad de negocio (como Producto en nuestro caso) como un documento JSON, podemos utilizar el documento contador con un patr\u00f3n clave para generar una secuencia.<\/span><\/p>\n<p dir=\"ltr\" style=\"line-height: 1.38;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 11pt;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">El siguiente fragmento de c\u00f3digo inicializa un documento contador con un valor inicial de 20.<\/span><\/p>\n<pre><code class=\"language-java\">\/\/ create a connection to couchbase cluster and bucket\r\nCluster cluster = CouchbaseCluster.create(\"127.0.0.1\");\r\nBucket bucket = cluster.openBucket(BUCKET_NAME);\r\n\r\n\/\/ Here, the BUCKET_NAME = \u201cprodcat\u201d (The one that was created using the Couchbase admin console)\r\n\r\nString key = \"idGeneratorForProducts\";\r\ntry {\r\n    bucket.remove(key);\r\n} catch (DocumentDoesNotExistException e) {\r\n    \r\n}\r\n\r\ntry {\r\n    bucket.counter(key, 0, 20);\r\n} catch (DocumentDoesNotExistException e) {\r\n    log.info(\"counter doesn't exist yet and no initial value was provided\");\r\n}<\/code><\/pre>\n<p dir=\"ltr\" style=\"line-height: 1.38;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 11pt;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">En este punto, nuestro documento contador se inicializa con un valor de 20.<\/span><\/p>\n<p dir=\"ltr\" style=\"line-height: 1.38;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 11pt;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">Ejecutamos el siguiente c\u00f3digo en un bucle para insertar los datos de los productos de forma secuencial:<\/span><\/p>\n<pre><code class=\"language-java\">long nextIdNumber = bucket.counter(key, 1).content();\r\nlog.info(\"nextIdNumber = \"+ nextIdNumber);\r\nString id = \"Prod::\" + nextIdNumber;\r\n\/\/you're now ready to save your document:\r\n   Product product = ProductUtil.getProduct(nextIdNumber);\r\n   JsonObject content = JsonObject.create()\r\n          .put(\"type\", Product.TYPE)\r\n          .put(\"id\", product.getId())\r\n          .put(\"description\", product.getDescription())\r\n          .put(\"price\", product.getPrice());\r\n         \r\nbucket.insert(JsonDocument.create(id, content));<\/code><\/pre>\n<p><span style=\"font-size: 11pt;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">A continuaci\u00f3n se explica el c\u00f3digo anterior: <\/span><\/p>\n<p><span style=\"font-size: 11pt;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">El nextId se calcula incrementando el contador en 1.<\/span><\/p>\n<p><span style=\"font-size: 11pt;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">Utilizamos nextId para rellenar el campo \"id\" del documento del producto.<\/span><\/p>\n<p dir=\"ltr\" style=\"line-height: 1.38;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 11pt;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">Donde \"idGeneratorForProducts\" es el documento contador que contiene el valor actual del contador. Cada documento de producto tiene el \"id\" poblado con la secuencia: <\/span><\/p>\n<pre><code class=\"language-json\">{\r\n  \"id\": \"Product 21\",\r\n  \"price\": \"20\",\r\n  \"type\": \"Product\",\r\n  \"description\": \"This is a utility product\"\r\n}<\/code><\/pre>\n<p dir=\"ltr\" style=\"line-height: 1.38;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 11pt;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">Vale la pena mencionar que tambi\u00e9n podemos implementar la secuencia en orden decreciente. En ese caso, lo \u00fanico que tenemos que hacer es:<\/span><\/p>\n<ul>\n<li><span style=\"font-size: 11pt;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">Inicializa el contador al valor m\u00e1ximo.<\/span><\/li>\n<li><span style=\"font-size: 11pt;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\"><span style=\"font-size: 11pt;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">Disminuye el contador en 1 para generar el siguienteId en secuencia.<\/span><\/span><\/li>\n<li><span style=\"font-size: 11pt;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\"><span style=\"font-size: 11pt;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\"><span style=\"font-size: 11pt;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">Utilice el nextId para insertar un documento en un bucket.<\/span><\/span><\/span><\/li>\n<\/ul>\n<p dir=\"ltr\" style=\"line-height: 1.38;margin-top: 0pt;margin-bottom: 10pt\"><span style=\"font-size: 16pt;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">Conclusi\u00f3n<\/span><\/p>\n<p dir=\"ltr\" style=\"line-height: 1.38;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 11pt;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">El c\u00f3digo utilizado para este art\u00edculo est\u00e1 escrito en Java y hace uso de la funci\u00f3n <a href=\"https:\/\/www.couchbase.com\/blog\/es\/couchbase-spring-boot-spring-data\/\">Spring Boot y Spring Data<\/a> Dependencias de Couchbase. Los mismos conceptos se pueden aplicar a cualquier SDK de cliente Couchbase.<\/span><\/p>\n<p dir=\"ltr\" style=\"line-height: 1.38;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 11pt;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">El c\u00f3digo fuente de la aplicaci\u00f3n se encuentra en <\/span><a style=\"text-decoration: none\" href=\"https:\/\/github.com\/ratchakr\/prodcat\"><span style=\"font-size: 11pt;font-family: Arial;color: #1155cc;background-color: transparent;text-decoration: underline;vertical-align: baseline\">https:\/\/github.com\/ratchakr\/prodcat<\/span><\/a><span style=\"font-size: 11pt;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">.<\/span><\/p>","protected":false},"excerpt":{"rendered":"<p>Ratnopam Chakrabarti is a software developer currently working for Ericsson Inc. He has been focused on IoT, machine-to-machine technologies, connected cars, and smart city domains for quite a while. He loves learning new technologies and putting them to work. When [&hellip;]<\/p>","protected":false},"author":53,"featured_media":2546,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1816,1818],"tags":[1725,1630],"ppma_author":[9026],"class_list":["post-2526","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-couchbase-server","category-java","tag-nosql-database","tag-spring-boot"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.0 (Yoast SEO v26.0) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Inserting Documents w\/ Sequential Keys: Using Autonumber<\/title>\n<meta name=\"description\" content=\"During software development we often to generate a unique key in an orderly sequential fashion. Learn about the process of using Autonumber in Couchbase.\" \/>\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-autonumber-in-couchbase\/\" \/>\n<meta property=\"og:locale\" content=\"es_MX\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Using Autonumber in Couchbase\" \/>\n<meta property=\"og:description\" content=\"During software development we often to generate a unique key in an orderly sequential fashion. Learn about the process of using Autonumber in Couchbase.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/es\/using-autonumber-in-couchbase\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2017-02-09T10:46:35+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-14T01:46:25+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/02\/shutterstock_529329214.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2048\" \/>\n\t<meta property=\"og:image:height\" content=\"1365\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Laura Czajkowski, Developer Community Manager, 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=\"Laura Czajkowski, Developer Community Manager, 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\/using-autonumber-in-couchbase\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/using-autonumber-in-couchbase\/\"},\"author\":{\"name\":\"Laura Czajkowski, Developer Community Manager, Couchbase\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/5f1a0ece4e644bc8c037686fbc8f3220\"},\"headline\":\"Using Autonumber in Couchbase\",\"datePublished\":\"2017-02-09T10:46:35+00:00\",\"dateModified\":\"2025-06-14T01:46:25+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/using-autonumber-in-couchbase\/\"},\"wordCount\":825,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/using-autonumber-in-couchbase\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/02\/shutterstock_529329214.jpg\",\"keywords\":[\"NoSQL Database\",\"spring-boot\"],\"articleSection\":[\"Couchbase Server\",\"Java\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/using-autonumber-in-couchbase\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/using-autonumber-in-couchbase\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/using-autonumber-in-couchbase\/\",\"name\":\"Inserting Documents w\/ Sequential Keys: Using Autonumber\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/using-autonumber-in-couchbase\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/using-autonumber-in-couchbase\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/02\/shutterstock_529329214.jpg\",\"datePublished\":\"2017-02-09T10:46:35+00:00\",\"dateModified\":\"2025-06-14T01:46:25+00:00\",\"description\":\"During software development we often to generate a unique key in an orderly sequential fashion. Learn about the process of using Autonumber in Couchbase.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/using-autonumber-in-couchbase\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/using-autonumber-in-couchbase\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/using-autonumber-in-couchbase\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/02\/shutterstock_529329214.jpg\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/02\/shutterstock_529329214.jpg\",\"width\":2048,\"height\":1365,\"caption\":\"Nosql\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/using-autonumber-in-couchbase\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Using Autonumber in Couchbase\"}]},{\"@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\/5f1a0ece4e644bc8c037686fbc8f3220\",\"name\":\"Laura Czajkowski, Developer Community Manager, Couchbase\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/9deb07d5daaa00220534c31768bc4409\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/bc8eebaf25cbe39bc12fd7b1ef92550becc3953ab877a3f0285a59ec2d30b754?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/bc8eebaf25cbe39bc12fd7b1ef92550becc3953ab877a3f0285a59ec2d30b754?s=96&d=mm&r=g\",\"caption\":\"Laura Czajkowski, Developer Community Manager, Couchbase\"},\"description\":\"Laura Czajkowski is the Snr. Developer Community Manager at Couchbase overseeing the community. She\u2019s responsible for our monthly developer newsletter.\",\"url\":\"https:\/\/www.couchbase.com\/blog\/es\/author\/laura-czajkowski\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Inserting Documents w\/ Sequential Keys: Using Autonumber","description":"Durante el desarrollo de software a menudo necesitamos generar una clave \u00fanica de forma secuencial y ordenada. Conoce el proceso de uso de Autonumber en Couchbase.","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-autonumber-in-couchbase\/","og_locale":"es_MX","og_type":"article","og_title":"Using Autonumber in Couchbase","og_description":"During software development we often to generate a unique key in an orderly sequential fashion. Learn about the process of using Autonumber in Couchbase.","og_url":"https:\/\/www.couchbase.com\/blog\/es\/using-autonumber-in-couchbase\/","og_site_name":"The Couchbase Blog","article_published_time":"2017-02-09T10:46:35+00:00","article_modified_time":"2025-06-14T01:46:25+00:00","og_image":[{"width":2048,"height":1365,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/02\/shutterstock_529329214.jpg","type":"image\/jpeg"}],"author":"Laura Czajkowski, Developer Community Manager, Couchbase","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Laura Czajkowski, Developer Community Manager, Couchbase","Est. reading time":"4 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/using-autonumber-in-couchbase\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/using-autonumber-in-couchbase\/"},"author":{"name":"Laura Czajkowski, Developer Community Manager, Couchbase","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/5f1a0ece4e644bc8c037686fbc8f3220"},"headline":"Using Autonumber in Couchbase","datePublished":"2017-02-09T10:46:35+00:00","dateModified":"2025-06-14T01:46:25+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/using-autonumber-in-couchbase\/"},"wordCount":825,"commentCount":1,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/using-autonumber-in-couchbase\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/02\/shutterstock_529329214.jpg","keywords":["NoSQL Database","spring-boot"],"articleSection":["Couchbase Server","Java"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/using-autonumber-in-couchbase\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/using-autonumber-in-couchbase\/","url":"https:\/\/www.couchbase.com\/blog\/using-autonumber-in-couchbase\/","name":"Inserting Documents w\/ Sequential Keys: Using Autonumber","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/using-autonumber-in-couchbase\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/using-autonumber-in-couchbase\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/02\/shutterstock_529329214.jpg","datePublished":"2017-02-09T10:46:35+00:00","dateModified":"2025-06-14T01:46:25+00:00","description":"Durante el desarrollo de software a menudo necesitamos generar una clave \u00fanica de forma secuencial y ordenada. Conoce el proceso de uso de Autonumber en Couchbase.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/using-autonumber-in-couchbase\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/using-autonumber-in-couchbase\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/using-autonumber-in-couchbase\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/02\/shutterstock_529329214.jpg","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/02\/shutterstock_529329214.jpg","width":2048,"height":1365,"caption":"Nosql"},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/using-autonumber-in-couchbase\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Using Autonumber in Couchbase"}]},{"@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\/5f1a0ece4e644bc8c037686fbc8f3220","name":"Laura Czajkowski, Directora de la Comunidad de Desarrolladores, Couchbase","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/9deb07d5daaa00220534c31768bc4409","url":"https:\/\/secure.gravatar.com\/avatar\/bc8eebaf25cbe39bc12fd7b1ef92550becc3953ab877a3f0285a59ec2d30b754?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/bc8eebaf25cbe39bc12fd7b1ef92550becc3953ab877a3f0285a59ec2d30b754?s=96&d=mm&r=g","caption":"Laura Czajkowski, Developer Community Manager, Couchbase"},"description":"Laura Czajkowski es la Snr. Developer Community Manager en Couchbase supervisando la comunidad. Es responsable de nuestro bolet\u00edn mensual para desarrolladores.","url":"https:\/\/www.couchbase.com\/blog\/es\/author\/laura-czajkowski\/"}]}},"authors":[{"term_id":9026,"user_id":53,"is_guest":0,"slug":"laura-czajkowski","display_name":"Laura Czajkowski, Developer Community Manager, Couchbase","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/bc8eebaf25cbe39bc12fd7b1ef92550becc3953ab877a3f0285a59ec2d30b754?s=96&d=mm&r=g","author_category":"","last_name":"Czajkowski","first_name":"Laura","job_title":"","user_url":"","description":"Laura Czajkowski es la Snr. Developer Community Manager en Couchbase supervisando la comunidad. Es responsable de nuestro bolet\u00edn mensual para desarrolladores."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/2526","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\/53"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/comments?post=2526"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/2526\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media\/2546"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media?parent=2526"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/categories?post=2526"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/tags?post=2526"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/ppma_author?post=2526"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}