{"id":8679,"date":"2020-05-18T06:30:08","date_gmt":"2020-05-18T13:30:08","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=8679"},"modified":"2025-06-13T20:08:54","modified_gmt":"2025-06-14T03:08:54","slug":"learn-couchbase-lite-in-5-minutes","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/es\/learn-couchbase-lite-in-5-minutes\/","title":{"rendered":"Aprenda Couchbase Lite en 5 minutos"},"content":{"rendered":"<h2>Aprende Couchbase Lite en 5 minutos y sigue el CRUD<\/h2>\n<p><span style=\"font-weight: 400\"><em>Por Matteo Sist, jefe de tecnolog\u00eda m\u00f3vil, <em class=\"ka\">@<a href=\"https:\/\/molo17.com\/\">MOLO17<\/a><\/em><\/em><br \/>\n<\/span><\/p>\n<p><span style=\"font-weight: 400\">Uno de los ingredientes clave para aprender a hacer una gran aplicaci\u00f3n m\u00f3vil es utilizar una buena base de datos. Por eso, en este art\u00edculo vamos a mostrar lo f\u00e1cil que es integrar Couchbase Lite en una app para iOS.<\/span><\/p>\n<p><span style=\"font-weight: 400\">\u00bfQu\u00e9 es Couchbase Lite? Couchbase Lite es el SDK para m\u00f3viles del <a href=\"https:\/\/www.couchbase.com\/blog\/es\/products\/mobile\/\">Couchbase M\u00f3vil<\/a> que permite a los desarrolladores integrar f\u00e1cilmente una base de datos NoSQL en aplicaciones m\u00f3viles.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Este blog repasar\u00e1 las operaciones CRUD (crear, leer, actualizar, eliminar), proporcionando detalles adem\u00e1s de consejos y trucos para cada uno de los pasos necesarios, y destacar\u00e1 una de mis funciones favoritas, Sync Gateway.<\/span><\/p>\n<h2><span style=\"font-weight: 400\">C como Crear<\/span><\/h2>\n<p><span style=\"font-weight: 400\">El primer paso es crear un documento con Couchbase. Couchbase tiene un m\u00e9todo para crear un documento, <em><strong>guardarDocumento<\/strong><\/em>. Este m\u00e9todo acepta dos par\u00e1metros. El primero es el documento (<span class=\"lang:default decode:true crayon-inline\">CouchbaseLiteSwift.MutableDocument)<\/span>\u00a0 y el segundo es un par\u00e1metro opcional (<span class=\"lang:default decode:true crayon-inline\">CouchbaseLiteSwift.ConcurrencyControl<\/span>\u00a0) que da a los usuarios la opci\u00f3n de resolver posibles conflictos autom\u00e1ticamente o lanzar una excepci\u00f3n para permitir a los usuarios resolver el conflicto manualmente. El valor por defecto es \"<em><strong>LastWriteWins<\/strong><\/em>&#8220;.<\/span><\/p>\n<p><span style=\"font-weight: 400\">\u00a0<\/span><span style=\"font-weight: 400\">C\u00f3mo utilizarlo <em><strong>guardarDocumento<\/strong><\/em> \u00bfm\u00e9todo?<\/span><\/p>\n<p><span style=\"font-weight: 400\">En primer lugar, necesitamos una instancia de base de datos (<span class=\"lang:default decode:true crayon-inline\">CouchbaseLiteSwift.Database<\/span>\u00a0), as\u00ed que basta con iniciar una nueva base de datos:<\/span><\/p>\n<pre class=\"lang:swift decode:true\">do {\r\n    database = try Database(name: \"DatabaseName\")\r\n} catch {\r\n    fatalError(\"Error opening database\")\r\n}<\/pre>\n<p><span style=\"font-weight: 400\">\u00a0<\/span><span style=\"font-weight: 400\">A continuaci\u00f3n, tenemos que crear el documento que queremos guardar. Por lo tanto, crear un nuevo documento <span class=\"lang:default decode:true crayon-inline\">CouchbaseLiteSwift.MutableDocument<\/span>\u00a0 y a\u00f1adir algunos campos:<\/span><\/p>\n<pre class=\"lang:swift decode:true\">let doc = MutableDocument(id: \"MyUniqueDocumentIdentifier\")\r\ndoc.setString(\"Mickey\", forKey: \"name\")\r\ndoc.setString(\"Mouse\", forKey: \"surname\")\r\ndoc.setInt(91, forKey: \"age\")\r\ndoc.setString(\"Contact\", forKey: \"type\")<\/pre>\n<p><span style=\"font-weight: 400\">\u00a0<\/span><span style=\"font-weight: 400\">Por \u00faltimo, gu\u00e1rdalo:<\/span><\/p>\n<pre class=\"lang:swift decode:true\">do {\r\n    try database.saveDocument(doc, concurrencyControl: .lastWriteWins)\r\n} catch {\r\n    fatalError(\"Error saving document\")\r\n}<\/pre>\n<p><span style=\"font-weight: 400\">Como puedes ver, crear y guardar un documento dentro de Couchbase es realmente sencillo e intuitivo.<\/span><\/p>\n<p><span style=\"font-weight: 400\">\u00a0<\/span><\/p>\n<h3><span style=\"font-weight: 400\">Trucos y consejos para aprender con Couchbase Lite<\/span><\/h3>\n<p><span style=\"font-weight: 400\">&#8211; <\/span><b>Mecanograf\u00eda:<\/b><span style=\"font-weight: 400\"> En el documento he a\u00f1adido un campo llamado <strong>tipo<\/strong> <span class=\"lang:default decode:true crayon-inline\">doc.setString(&#8220;Contact&#8221;, forKey: &#8220;type&#8221;)<\/span>\u00a0. Se trata de un truco que permite dividir f\u00e1cilmente un documento en tipos y facilita las operaciones de lectura. M\u00e1s adelante demostrar\u00e9 c\u00f3mo utilizar este campo.<\/span><\/p>\n<p><span style=\"font-weight: 400\">&#8211; <\/span><b>Id:<\/b><span style=\"font-weight: 400\"> No necesitas proporcionar un id cuando creas un documento. Es un campo opcional, y si no lo haces, Couchbase genera un UUID por ti.<\/span><\/p>\n<p><span style=\"font-weight: 400\">&#8211; <\/span><b>Creaci\u00f3n de documentos:<\/b><span style=\"font-weight: 400\"> Si lo desea, puede crear un documento a partir de un diccionario (o un mapa clave-valor) simplemente pasando el diccionario como par\u00e1metro en el constructor del documento.<\/span><\/p>\n<p><span style=\"font-weight: 400\">\u00a0<\/span><\/p>\n<h2><span style=\"font-weight: 400\">R de lectura<\/span><\/h2>\n<p><span style=\"font-weight: 400\">Ahora que hemos creado nuestro primer documento tambi\u00e9n queremos leerlo y mostrarlo en una lista.\u00a0<\/span><span style=\"font-weight: 400\">Hay dos formas de recuperar un documento:<\/span><\/p>\n<ol>\n<li><span style=\"font-weight: 400\"> Obtener por id<\/span><\/li>\n<li><span style=\"font-weight: 400\"> Consulta<\/span><\/li>\n<\/ol>\n<h3><span style=\"font-weight: 400\">Obtener por id<\/span><\/h3>\n<p><span style=\"font-weight: 400\">\u00a0<\/span><span style=\"font-weight: 400\">Para recuperar un documento utilizando su id necesitamos primero una instancia de base de datos para una operaci\u00f3n de lectura.<\/span><\/p>\n<pre class=\"lang:swift decode:true\">do {\r\n    database = try Database(name: \"DatabaseName\")\r\n} catch {\r\n    fatalError(\"Error opening database\")\r\n}<\/pre>\n<p><span style=\"font-weight: 400\">Entonces podemos utilizar el m\u00e9todo <em><strong>documento<\/strong><\/em>\u00a0que necesita el id del documento para recuperarlo. El tipo de retorno de este m\u00e9todo es un objeto documento opcional (CouchbaseLiteSwift.Document?) que ser\u00e1 nil si el documento no existe.<\/span><\/p>\n<pre class=\"lang:swift decode:true\">let doc = database.document(withID: \"MyUniqueDocumentIdentifier\")<\/pre>\n<p>&nbsp;<\/p>\n<h3><span style=\"font-weight: 400\">Consulta<\/span><\/h3>\n<p><span style=\"font-weight: 400\">En cuanto a la operaci\u00f3n get by id, tambi\u00e9n necesitamos una instancia de la base de datos para la consulta.<\/span><\/p>\n<pre class=\"lang:swift decode:true\">do {\r\n    database = try Database(name: \"DatabaseName\")\r\n} catch {\r\n    fatalError(\"Error opening database\")\r\n}<\/pre>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400\">El siguiente paso es crear la consulta. Para ello necesitamos utilizar el metalenguaje **N1QL**. N1QL, el lenguaje de consulta de Couchbase que extiende SQL a datos JSON, permite a los usuarios definir una consulta con una sintaxis similar a SQL sobre una base de datos NoSQL. Mira el ejemplo de abajo.<\/span><\/p>\n<pre class=\"lang:swift decode:true\">let query = QueryBuilder\r\n    .select(SelectResult.all())\r\n    .from(DataSource.database(database))\r\n    .where(Expression.property(\"type\").equalTo(Expression.string(\"Contact\")))<\/pre>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400\">De este modo, definimos una consulta sencilla que busca todos los documentos (con todos los campos, por supuesto) de la base de datos en los que el campo \"tipo\" es igual a \"Contacto\".<\/span><\/p>\n<p><span style=\"font-weight: 400\">Ahora, s\u00f3lo tenemos que ejecutar la consulta y recibiremos un conjunto de resultados con todos los documentos que cumplan las opciones de la consulta.<\/span><\/p>\n<pre class=\"lang:default decode:true\">do {\r\n    result = try query.execute()\r\n} catch {\r\n    fatalError(\"Invalid query\")\r\n}<\/pre>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400\">El objeto resultado se ajusta al protocolo iterador, por lo que puede iterarse para obtener cada documento y hacer cosas. El resultado devuelto por la consulta es una instant\u00e1nea de los datos en el momento de la ejecuci\u00f3n. No se tendr\u00e1n en cuenta los cambios de documento realizados posteriormente.<\/span><\/p>\n<p><span style=\"font-weight: 400\">\u00a0<\/span><\/p>\n<h3><span style=\"font-weight: 400\">Trucos y consejos <\/span>Aprender con Couchbase Lite<\/h3>\n<p><span style=\"font-weight: 400\">&#8211; <\/span><b>Escucha de consultas:<\/b><span style=\"font-weight: 400\"> Couchbase tambi\u00e9n proporciona otro m\u00e9todo para ejecutar consultas que permiten a los usuarios no s\u00f3lo recuperar datos de la consulta construida, sino tambi\u00e9n escuchar futuros cambios. Hacer esto es tan simple como el primer m\u00e9todo. Echa un vistazo<\/span><\/p>\n<pre class=\"lang:swift decode:true\">let token = query.addChangeListener { queryChange in\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 result = queryChange.results?.allResults()\r\n}<\/pre>\n<p><span style=\"font-weight: 400\">The listener will be invoked every time the documents included in the query result change. The token returned from the &#8220;`addChangeListener&#8220;` methods can be used to stop listening as follows:<\/span><\/p>\n<pre class=\"lang:swift decode:true\">query.removeChangeListener(withToken: token)<\/pre>\n<p><span style=\"font-weight: 400\">&#8211; <\/span><b>Conversi\u00f3n de documentos:<\/b><span style=\"font-weight: 400\"> En cuanto a la creaci\u00f3n, puede convertir f\u00e1cilmente un documento en un diccionario (y viceversa) utilizando <em><strong>toDictionary()<\/strong><\/em> m\u00e9todo.<\/span><\/p>\n<p><span style=\"font-weight: 400\">\u00a0<\/span><\/p>\n<h2><span style=\"font-weight: 400\">U como Actualizaci\u00f3n<\/span><\/h2>\n<p><span style=\"font-weight: 400\">Ahora que ya podemos crear y leer documentos en Couchbase, vamos a actualizar nuestro documento.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Actualizar un documento es muy similar a crearlo. Basta con obtener un documento para actualizarlo, actualizarlo y volver a guardarlo. Veamos c\u00f3mo.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Inicie la base de datos:<\/span><\/p>\n<pre class=\"lang:swift decode:true\">do {\r\n   database = try Database(name: \"DatabaseName\")\r\n} catch {\r\n    fatalError(\"Error opening database\")\r\n}<\/pre>\n<p><span style=\"font-weight: 400\">Recuperar el documento a actualizar:<\/span><\/p>\n<pre class=\"lang:swift decode:true\">let doc = database.document(withID: \"MyUniqueDocumentIdentifier\")<\/pre>\n<p><span style=\"font-weight: 400\">Ed\u00edtalo.<\/span><\/p>\n<pre class=\"lang:swift decode:true\">let docToUpdate = doc.toMutable()\r\ndocToUpdate.setString(\"Male\", forKey: \"gender\")<\/pre>\n<p><span style=\"font-weight: 400\">Y, por supuesto, gu\u00e1rdalo:<\/span><\/p>\n<pre class=\"lang:default decode:true\">do {\r\n    try database.saveDocument(docToUpdate, concurrencyControl: .lastWriteWins)\r\n} catch {\r\n    fatalError(\"Error updating document\")\r\n}<\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h2><span style=\"font-weight: 400\">D como Borrar<\/span><\/h2>\n<p><span style=\"font-weight: 400\">Por \u00faltimo, pero no por ello menos importante, tal vez desee eliminar algunos documentos, he aqu\u00ed c\u00f3mo hacerlo.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Como siempre, necesitamos la base de datos.<\/span><\/p>\n<pre class=\"lang:default decode:true\">do {\r\n  database = try Database(name: \"DatabaseName\")\r\n} catch {\r\n  fatalError(\"Error opening database\")\r\n}<\/pre>\n<p><span style=\"font-weight: 400\">De forma similar a la operaci\u00f3n de actualizaci\u00f3n, debemos recuperar el documento a eliminar. Para ello, utilizaremos el m\u00e9todo document by id.<\/span><\/p>\n<pre class=\"lang:swift decode:true\">let doc = database.document(withID: \"MyUniqueDocumentIdentifier\")<\/pre>\n<p><span style=\"font-weight: 400\">Ahora podemos utilizar el <em><strong>borrar<\/strong><\/em> para eliminar un documento. Al igual que con <em><strong>guardarDocumento<\/strong><\/em>podemos optar por resolver los conflictos de forma manual o autom\u00e1tica.\u00a0<\/span><\/p>\n<pre class=\"lang:swift decode:true\">do {\r\n   try database.deleteDocument(doc, concurrencyControl: .lastWriteWins)\r\n} catch {\r\n    fatalError(\"Error deleting document\")\r\n}<\/pre>\n<p>&nbsp;<\/p>\n<h2><span style=\"font-weight: 400\">Couchbase Sync Gateway es tan f\u00e1cil de aprender como Couchbase Lite<\/span><\/h2>\n<p><span style=\"font-weight: 400\">Ahora podemos integrar Couchbase Lite en nuestras aplicaciones utilizando CRUD:<\/span><\/p>\n<ol>\n<li><span style=\"font-weight: 400\"> Crear un documento<\/span><\/li>\n<li><span style=\"font-weight: 400\"> Leer un documento (o muchos) con actualizaciones en tiempo real si queremos<\/span><\/li>\n<li><span style=\"font-weight: 400\"> Actualizar un documento (no es tan diferente de la creaci\u00f3n)<\/span><\/li>\n<li><span style=\"font-weight: 400\"> Borrar un documento<\/span><\/li>\n<\/ol>\n<p><span style=\"font-weight: 400\">Pero a\u00fan hay m\u00e1s. Couchbase proporciona otra caracter\u00edstica maravillosa: Sync Gateway<\/span><\/p>\n<p><span style=\"font-weight: 400\">\u00a0<\/span><\/p>\n<h2><span style=\"font-weight: 400\">Sincroniza<\/span><span style=\"font-weight: 400\">\u00a0<\/span><\/h2>\n<p><span style=\"font-weight: 400\">Sync es una de mis funcionalidades favoritas de Couchbase porque es tan simple como efectiva. Couchbase Lite proporciona esta funcionalidad para configurar una base de datos remota.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Profundicemos en el c\u00f3digo.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Adem\u00e1s de nuestra base de datos, necesitamos otro objeto: el replicador.<\/span><\/p>\n<pre class=\"lang:swift decode:true\">do {\r\n    database = try Database(name: DatabaseName)\r\n} catch {\r\n    fatalError(\"Error opening database\")\r\n}<\/pre>\n<p><span style=\"font-weight: 400\">\u00a0<\/span><span style=\"font-weight: 400\">Lo que necesito para iniciar un objeto replicador (CouchbaseLiteSwift.Replicator) es un objeto de configuraci\u00f3n donde el \u00fanico campo obligatorio es la url del Sync Gateway.<\/span><\/p>\n<p><span style=\"font-weight: 400\">\u00a0<\/span><span style=\"font-weight: 400\">Los dem\u00e1s campos opcionales son <em><strong>replicatorType<\/strong><\/em>, donde los usuarios pueden elegir si la replicaci\u00f3n debe funcionar hacia arriba, hacia dentro, hacia abajo, o ambas cosas. Otro campo es <em><strong>continuo<\/strong><\/em>, un indicador que permite a los usuarios configurar si la replicaci\u00f3n debe ejecutarse una sola vez o de forma continua.<\/span><span style=\"font-weight: 400\">\u00a0<\/span><\/p>\n<pre class=\"lang:swift decode:true\">let targetEndpoint = URLEndpoint(url: \"ws:\/\/localhost:4984\/bucketname\/\")\r\nlet replConfig = ReplicatorConfiguration(database: database, target: targetEndpoint)\r\nreplConfig.replicatorType = .pushAndPull\r\nreplConfig.continuous = true\r\nreplConfig.authenticator = BasicAuthenticator(username: Username, password: Password)\r\nreplicator = Replicator(config: replConfig)<\/pre>\n<p><span style=\"font-weight: 400\">Con el <em><strong>replicador<\/strong><\/em>\u00a0s\u00f3lo necesitamos iniciar la replicaci\u00f3n.<\/span><\/p>\n<pre class=\"lang:swift decode:true\">replicator.start()<\/pre>\n<p><span style=\"font-weight: 400\">O detener la replicaci\u00f3n.<\/span><\/p>\n<pre class=\"lang:swift decode:true\">replicator.stop()<\/pre>\n<p>&nbsp;<\/p>\n<h3><span style=\"font-weight: 400\">Trucos y consejos para aprender con Sync<\/span><\/h3>\n<p><span style=\"font-weight: 400\">&#8211; <\/span><b>Estado de la replicaci\u00f3n de escucha:<\/b><span style=\"font-weight: 400\"> Tanto para la consulta como para la replicaci\u00f3n podemos a\u00f1adir un listener para recibir los cambios de estado de la replicaci\u00f3n. A continuaci\u00f3n se muestra el c\u00f3digo.<\/span><span style=\"font-weight: 400\">\u00a0<\/span><\/p>\n<pre class=\"lang:swift decode:true\">let token = replicator.addChangeListener { changes in\r\n    status = changes.status\r\n}<\/pre>\n<p><span style=\"font-weight: 400\">En cuanto a las consultas, el token debe utilizarse para eliminar el oyente del replicador.<\/span><\/p>\n<pre class=\"lang:swift decode:true\">replicator.removeChangeListener(withToken: token)<\/pre>\n<p>&nbsp;<\/p>\n<h2><span style=\"font-weight: 400\">Conclusi\u00f3n, Couchbase Lite es f\u00e1cil de aprender<\/span><\/h2>\n<p><span style=\"font-weight: 400\">\u00a0<\/span><span style=\"font-weight: 400\">Couchbase Lite, como parte de la suite Couchbase Mobile, es una poderosa flecha en la aljaba de un desarrollador m\u00f3vil. Es f\u00e1cil de aprender, y en este art\u00edculo solo hemos mostrado una peque\u00f1a parte de su potencial, as\u00ed que mi consejo es que profundices en las funcionalidades de Couchbase que te permitir\u00e1n integrar f\u00e1cilmente y tomar el control total de la base de datos que soporta tus aplicaciones m\u00f3viles.<\/span><\/p>\n<p id=\"7553\" class=\"he hs ap by hg b hh hi ht hj hk hu hl hm hv hn ho hw hp hq hx hr ei\" data-selectable-paragraph=\"\"><strong><em>Sobre Matteo Sist, @MOLO17<\/em><\/strong><\/p>\n<p><em>Matteo empez\u00f3 a colaborar con <a href=\"https:\/\/molo17.com\/\">MOLO17<\/a> como Desarrollador Android cuando estaba en el instituto (a trav\u00e9s de un curso de Tecnolog\u00eda de la Informaci\u00f3n). Contratado en 2015, se uni\u00f3 al equipo de desarrollo m\u00f3vil asumiendo el papel de desarrollador clave para las plataformas iOS y Android. Competente en lenguajes de <a href=\"https:\/\/www.couchbase.com\/blog\/es\/native-mobile-development\/\">desarrollo de aplicaciones m\u00f3viles nativas<\/a>Desde Java y Objective-C hasta los m\u00e1s recientes Kotlin y Swift, ha dise\u00f1ado y desarrollado varias soluciones de \u00e9xito para dispositivos m\u00f3viles dirigidas a consumidores y empresas. En 2016, se convirti\u00f3 en Tech Lead gestionando el equipo de desarrollo de aplicaciones m\u00f3viles, y en 2019, cofund\u00f3 MobileBridge (una empresa hermana de MOLO17).<\/em><\/p>\n<p>&nbsp;<\/p>","protected":false},"excerpt":{"rendered":"<p>Learn Couchbase Lite in 5 Minutes and follow the CRUD By Matteo Sist, Mobile Tech Lead, @MOLO17 One of the key ingredients in learning to make a great mobile app is to use a good database. So, in this article [&hellip;]<\/p>","protected":false},"author":31146,"featured_media":13873,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[7667,1810,9410,2366],"tags":[1536],"ppma_author":[8921],"class_list":["post-8679","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-couchbase-lite","category-couchbase-mobile","category-objective-c","category-sync-gateway","tag-ios"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.9 (Yoast SEO v25.9) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Learn Couchbase Lite in 5 Minutes - The Couchbase Blog<\/title>\n<meta name=\"description\" content=\"Couchbase Lite is easy to Learn. In fact, you can learn Couchbase Lite in as little as five minutes in order to begin building your Couchbae Mobile app.\" \/>\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\/learn-couchbase-lite-in-5-minutes\/\" \/>\n<meta property=\"og:locale\" content=\"es_MX\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Learn Couchbase Lite in 5 Minutes\" \/>\n<meta property=\"og:description\" content=\"Couchbase Lite is easy to Learn. In fact, you can learn Couchbase Lite in as little as five minutes in order to begin building your Couchbae Mobile app.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/es\/learn-couchbase-lite-in-5-minutes\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2020-05-18T13:30:08+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-14T03:08:54+00:00\" \/>\n<meta name=\"author\" content=\"Guest Blogger\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Guest Blogger\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/learn-couchbase-lite-in-5-minutes\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/learn-couchbase-lite-in-5-minutes\/\"},\"author\":{\"name\":\"Guest Blogger\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/486e2f1f4ce1b58c9252ddcf8b580f6f\"},\"headline\":\"Learn Couchbase Lite in 5 Minutes\",\"datePublished\":\"2020-05-18T13:30:08+00:00\",\"dateModified\":\"2025-06-14T03:08:54+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/learn-couchbase-lite-in-5-minutes\/\"},\"wordCount\":1294,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/learn-couchbase-lite-in-5-minutes\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"keywords\":[\"ios\"],\"articleSection\":[\"Couchbase Lite\",\"Couchbase Mobile\",\"Objective-C\",\"Sync Gateway\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/learn-couchbase-lite-in-5-minutes\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/learn-couchbase-lite-in-5-minutes\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/learn-couchbase-lite-in-5-minutes\/\",\"name\":\"Learn Couchbase Lite in 5 Minutes - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/learn-couchbase-lite-in-5-minutes\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/learn-couchbase-lite-in-5-minutes\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2020-05-18T13:30:08+00:00\",\"dateModified\":\"2025-06-14T03:08:54+00:00\",\"description\":\"Couchbase Lite is easy to Learn. In fact, you can learn Couchbase Lite in as little as five minutes in order to begin building your Couchbae Mobile app.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/learn-couchbase-lite-in-5-minutes\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/learn-couchbase-lite-in-5-minutes\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/learn-couchbase-lite-in-5-minutes\/#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\/learn-couchbase-lite-in-5-minutes\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Learn Couchbase Lite in 5 Minutes\"}]},{\"@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\/486e2f1f4ce1b58c9252ddcf8b580f6f\",\"name\":\"Guest Blogger\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/ffd9358d5d91b7cb57e338eb9ea75b58\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/23ccf99ddbce59101a05cb50b016509b200fec485984487602f332dcff7f1d7f?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/23ccf99ddbce59101a05cb50b016509b200fec485984487602f332dcff7f1d7f?s=96&d=mm&r=g\",\"caption\":\"Guest Blogger\"},\"description\":\"Welcome to Couchbase's Guest Blog profile, featuring thought-provoking content from industry influencers.\",\"url\":\"https:\/\/www.couchbase.com\/blog\/es\/author\/guest-blogger\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Learn Couchbase Lite in 5 Minutes - The Couchbase Blog","description":"Couchbase Lite es f\u00e1cil de aprender. De hecho, puedes aprender Couchbase Lite en tan solo cinco minutos para empezar a crear tu aplicaci\u00f3n Couchbae Mobile.","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\/learn-couchbase-lite-in-5-minutes\/","og_locale":"es_MX","og_type":"article","og_title":"Learn Couchbase Lite in 5 Minutes","og_description":"Couchbase Lite is easy to Learn. In fact, you can learn Couchbase Lite in as little as five minutes in order to begin building your Couchbae Mobile app.","og_url":"https:\/\/www.couchbase.com\/blog\/es\/learn-couchbase-lite-in-5-minutes\/","og_site_name":"The Couchbase Blog","article_published_time":"2020-05-18T13:30:08+00:00","article_modified_time":"2025-06-14T03:08:54+00:00","author":"Guest Blogger","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Guest Blogger","Est. reading time":"6 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/learn-couchbase-lite-in-5-minutes\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/learn-couchbase-lite-in-5-minutes\/"},"author":{"name":"Guest Blogger","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/486e2f1f4ce1b58c9252ddcf8b580f6f"},"headline":"Learn Couchbase Lite in 5 Minutes","datePublished":"2020-05-18T13:30:08+00:00","dateModified":"2025-06-14T03:08:54+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/learn-couchbase-lite-in-5-minutes\/"},"wordCount":1294,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/learn-couchbase-lite-in-5-minutes\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","keywords":["ios"],"articleSection":["Couchbase Lite","Couchbase Mobile","Objective-C","Sync Gateway"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/learn-couchbase-lite-in-5-minutes\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/learn-couchbase-lite-in-5-minutes\/","url":"https:\/\/www.couchbase.com\/blog\/learn-couchbase-lite-in-5-minutes\/","name":"Learn Couchbase Lite in 5 Minutes - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/learn-couchbase-lite-in-5-minutes\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/learn-couchbase-lite-in-5-minutes\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2020-05-18T13:30:08+00:00","dateModified":"2025-06-14T03:08:54+00:00","description":"Couchbase Lite es f\u00e1cil de aprender. De hecho, puedes aprender Couchbase Lite en tan solo cinco minutos para empezar a crear tu aplicaci\u00f3n Couchbae Mobile.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/learn-couchbase-lite-in-5-minutes\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/learn-couchbase-lite-in-5-minutes\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/learn-couchbase-lite-in-5-minutes\/#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\/learn-couchbase-lite-in-5-minutes\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Learn Couchbase Lite in 5 Minutes"}]},{"@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\/486e2f1f4ce1b58c9252ddcf8b580f6f","name":"Blogger invitado","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/ffd9358d5d91b7cb57e338eb9ea75b58","url":"https:\/\/secure.gravatar.com\/avatar\/23ccf99ddbce59101a05cb50b016509b200fec485984487602f332dcff7f1d7f?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/23ccf99ddbce59101a05cb50b016509b200fec485984487602f332dcff7f1d7f?s=96&d=mm&r=g","caption":"Guest Blogger"},"description":"Bienvenido al perfil de blog invitado de Couchbase, con contenido que invita a la reflexi\u00f3n de personas influyentes del sector.","url":"https:\/\/www.couchbase.com\/blog\/es\/author\/guest-blogger\/"}]}},"authors":[{"term_id":8921,"user_id":31146,"is_guest":0,"slug":"guest-blogger","display_name":"Guest Blogger","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/23ccf99ddbce59101a05cb50b016509b200fec485984487602f332dcff7f1d7f?s=96&d=mm&r=g","author_category":"","last_name":"Blogger","first_name":"Guest","job_title":"","user_url":"","description":"Bienvenido al perfil de blog invitado de Couchbase, con contenido que invita a la reflexi\u00f3n de personas influyentes del sector."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/8679","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\/31146"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/comments?post=8679"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/8679\/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=8679"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/categories?post=8679"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/tags?post=8679"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/ppma_author?post=8679"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}