{"id":2370,"date":"2016-08-09T01:03:51","date_gmt":"2016-08-09T01:03:50","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=2370"},"modified":"2023-09-07T01:32:28","modified_gmt":"2023-09-07T08:32:28","slug":"new-couchbase-mobile-v1-3-document-expiration","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/new-couchbase-mobile-v1-3-document-expiration\/","title":{"rendered":"New in Couchbase Mobile v1.3: Document Expiration"},"content":{"rendered":"<p><span style=\"color: #373737\">Document expiration, sometimes referred to as \u201ctime to live\u201d , or <a href=\"https:\/\/www.couchbase.com\/blog\/how-to-manage-ttl-with-couchbase-n1ql\/\">TTL<\/a>, has been a feature of <a href=\"https:\/\/www.couchbase.com\/nosql-databases\/couchbase-server?utm_source=blogs&amp;utm_medium=link&amp;utm_campaign=blogs\">Couchbase Server<\/a> for some time. \u00a0The new release of version 1.3\u00a0adds this capability to\u00a0<a href=\"https:\/\/www.couchbase.com\/developers\/mobile\/?utm_source=blogs&amp;utm_medium=link&amp;utm_campaign=blogs\">Couchbase Mobile<\/a>. \u00a0Let\u2019s explore a little.<\/span><\/p>\n<h2 style=\"border: 0px\">Documents and Revisions<\/h2>\n<p style=\"border: 0px\">Couchbase stores data in the form of\u00a0<a style=\"border: 0px;font-family: inherit;font-style: inherit;font-weight: inherit;margin: 0px;padding: 0px;vertical-align: baseline;color: #1982d1;text-decoration: none\" href=\"https:\/\/www.json.org\/\">JSON<\/a>\u00a0documents. \u00a0More precisely, Couchbase stores revisions of documents. \u00a0The details go outside the scope of what I want to focus on here, but revisions are important to understand. \u00a0You can read more about them in\u00a0<a style=\"border: 0px;font-family: inherit;font-style: inherit;font-weight: inherit;margin: 0px;padding: 0px;vertical-align: baseline;color: #1982d1;text-decoration: none\" href=\"https:\/\/developer.couchbase.com\/documentation\/mobile\/1.3\/develop\/guides\/couchbase-lite\/native-api\/revision\/index.html?utm_source=blogs&amp;utm_medium=link&amp;utm_campaign=blogs\">this guide<\/a>.<\/p>\n<h2 style=\"border: 0px\">Deleting versus Purging<\/h2>\n<p style=\"border: 0px\">In your local database, you really only want to store what\u2019s necessary. \u00a0Let\u2019s suppose for some reason a particular document is no longer relevant. \u00a0Say, for example, a transaction has completed, and the user no longer wants to keep the details around.<\/p>\n<p style=\"border: 0px\">You could delete the document. \u00a0This has two effects. \u00a0First, the document isn\u2019t entirely gone locally. \u00a0Couchbase Lite keeps some revision information and replaces the document with a \u201ctombstone\u201d entry. \u00a0Second, the fact that the document has been deleted gets propagated to any replications.<\/p>\n<p style=\"border: 0px\">So deleting a document doesn\u2019t entirely free up space on your device. \u00a0And you may not want to delete the document in other copies of the database. \u00a0In our example, you can imagine the user doesn\u2019t want the details of the transaction on their device currently, but may want to retrieve them again later.<\/p>\n<p style=\"border: 0px\">Purging a document does something quite different. \u00a0Purging a document removes all traces of it,\u00a0<em style=\"border: 0px;font-family: inherit;font-weight: inherit;margin: 0px;padding: 0px;vertical-align: baseline\">but only in the local database<\/em>. \u00a0If you\u2019re syncing your database, it can help to think of a purged document as one that never got replicated locally to begin with. \u00a0The document still exists remotely. \u00a0In fact, if the remote version changes, the document could show up in the replication feed, so you can end up with a local copy again.<\/p>\n<p style=\"border: 0px\">This fits nicely with our example. \u00a0A user \u00a0no longer cares about the details of a transaction, so the records get removed locally, freeing up space. \u00a0If something changes in the details of the transaction, an app could see those changes passed in a replication, and alert the user.<\/p>\n<h2 style=\"border: 0px\">Expiration = Automated Purging<\/h2>\n<p style=\"border: 0px\">Now, back to document expiration. \u00a0I told you that other information to put expiration in context. \u00a0When a document expires, it automatically gets treated like it was purged.<\/p>\n<p style=\"border: 0px\">To have a document expire, you set an expiration date on it. \u00a0Here\u2019s a code snippet that shows how to do that in Java.<\/p>\n<pre class=\"lang:java decode:true \">Date ttl = new Date(System.currentTimeMillis() + 5000);\r\n\r\nDocument doc = database.createDocument();\r\nMap&lt;String, Object&gt; properties = new HashMap&lt;String, Object&gt;();\r\nproperties.put(\"foo\", \"bar\");\r\ntry {\r\n    doc.putProperties(properties);\r\n} catch (CouchbaseLiteException e) {\r\n    e.printStackTrace();\r\n}\r\ndoc.setExpirationDate(ttl);<\/pre>\n<p style=\"border: 0px\">You can see that you\u2019re setting an absolute time, not a relative one. \u00a0Once that time has passed, the document behaves as if it has been purged.<\/p>\n<p style=\"border: 0px\">I say behaves as if it has been purged. \u00a0It can take a little time to process things behind the scenes. \u00a0The document will actually be purged, but that can get delayed briefly for various reasons. \u00a0Just don\u2019t expect millisecond accuracy.<\/p>\n<h2 id=\"truepostscript\" style=\"text-align: start;border: 0px\">Postscript<\/h2>\n<div class=\"sectionbody\" style=\"text-align: start;border: 0px\">\n<div class=\"paragraph data-line-149\" style=\"border: 0px;font-family: inherit;font-style: inherit;font-weight: inherit;vertical-align: baseline\">\n<p style=\"margin-bottom: 1.625em;border: 0px;font-family: inherit;font-style: inherit;font-weight: inherit;vertical-align: baseline\">Check out more resources on our\u00a0<a style=\"color: #1982d1;text-decoration: none;border: 0px;font-family: inherit;font-style: inherit;font-weight: inherit;margin: 0px;padding: 0px;vertical-align: baseline\" href=\"https:\/\/www.couchbase.com\/developers\/community\/?utm_source=blogs&amp;utm_medium=link&amp;utm_campaign=blogs\">developer portal<\/a>\u00a0and follow us on Twitter\u00a0<a style=\"color: #1982d1;text-decoration: none;border: 0px;font-family: inherit;font-style: inherit;font-weight: inherit;margin: 0px;padding: 0px;vertical-align: baseline\" href=\"https:\/\/twitter.com\/CouchbaseDev\">@CouchbaseDev<\/a>.<\/p>\n<p style=\"margin-bottom: 1.625em;border: 0px;font-family: inherit;font-style: inherit;font-weight: inherit;vertical-align: baseline\">You can post questions on our\u00a0<a style=\"color: #1982d1;text-decoration: none;border: 0px;font-family: inherit;font-style: inherit;font-weight: inherit;margin: 0px;padding: 0px;vertical-align: baseline\" href=\"https:\/\/www.couchbase.com\/forums\/?utm_source=blogs&amp;utm_medium=link&amp;utm_campaign=blogs\">forums<\/a>. And we actively participate on\u00a0<a style=\"color: #1982d1;text-decoration: none;border: 0px;font-family: inherit;font-style: inherit;font-weight: inherit;margin: 0px;padding: 0px;vertical-align: baseline\" href=\"https:\/\/stackoverflow.com\/questions\/tagged\/couchbase\">Stack Overflow<\/a>.<\/p>\n<p style=\"margin-bottom: 1.625em;border: 0px;font-family: inherit;font-style: inherit;font-weight: inherit;vertical-align: baseline\">You can follow me personally at\u00a0<a style=\"color: #1982d1;text-decoration: none;border: 0px;font-family: inherit;font-style: inherit;font-weight: inherit;margin: 0px;padding: 0px;vertical-align: baseline\" href=\"https:\/\/twitter.com\/HodGreeley\">@HodGreeley<\/a><\/p>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Document expiration, sometimes referred to as \u201ctime to live\u201d , or TTL, has been a feature of Couchbase Server for some time. \u00a0The new release of version 1.3\u00a0adds this capability to\u00a0Couchbase Mobile. \u00a0Let\u2019s explore a little. Documents and Revisions Couchbase [&hellip;]<\/p>\n","protected":false},"author":73,"featured_media":13873,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1810],"tags":[],"ppma_author":[9042],"class_list":["post-2370","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-couchbase-mobile"],"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 in Couchbase Mobile v1.3: Document Expiration - 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\/new-couchbase-mobile-v1-3-document-expiration\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"New in Couchbase Mobile v1.3: Document Expiration\" \/>\n<meta property=\"og:description\" content=\"Document expiration, sometimes referred to as \u201ctime to live\u201d , or TTL, has been a feature of Couchbase Server for some time. \u00a0The new release of version 1.3\u00a0adds this capability to\u00a0Couchbase Mobile. \u00a0Let\u2019s explore a little. Documents and Revisions Couchbase [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/new-couchbase-mobile-v1-3-document-expiration\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2016-08-09T01:03:50+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-09-07T08:32:28+00:00\" \/>\n<meta name=\"author\" content=\"Hod Greeley, Developer Advocate, Couchbase\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@HodGreeley\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Hod Greeley, Developer Advocate, Couchbase\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/new-couchbase-mobile-v1-3-document-expiration\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/new-couchbase-mobile-v1-3-document-expiration\/\"},\"author\":{\"name\":\"Hod Greeley, Developer Advocate, Couchbase\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/9b62593c8a13531e53d52fcd5aabbca4\"},\"headline\":\"New in Couchbase Mobile v1.3: Document Expiration\",\"datePublished\":\"2016-08-09T01:03:50+00:00\",\"dateModified\":\"2023-09-07T08:32:28+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/new-couchbase-mobile-v1-3-document-expiration\/\"},\"wordCount\":528,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/new-couchbase-mobile-v1-3-document-expiration\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"articleSection\":[\"Couchbase Mobile\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/new-couchbase-mobile-v1-3-document-expiration\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/new-couchbase-mobile-v1-3-document-expiration\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/new-couchbase-mobile-v1-3-document-expiration\/\",\"name\":\"New in Couchbase Mobile v1.3: Document Expiration - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/new-couchbase-mobile-v1-3-document-expiration\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/new-couchbase-mobile-v1-3-document-expiration\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2016-08-09T01:03:50+00:00\",\"dateModified\":\"2023-09-07T08:32:28+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/new-couchbase-mobile-v1-3-document-expiration\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/new-couchbase-mobile-v1-3-document-expiration\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/new-couchbase-mobile-v1-3-document-expiration\/#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-couchbase-mobile-v1-3-document-expiration\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"New in Couchbase Mobile v1.3: Document Expiration\"}]},{\"@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\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@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\/9b62593c8a13531e53d52fcd5aabbca4\",\"name\":\"Hod Greeley, Developer Advocate, Couchbase\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/21eb69cb5d4a401fb23b149e4f4e9e87\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/52d0018695c0ced0d1c68cf64a6195c81dbac03dce5983f98eb209e7c84350df?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/52d0018695c0ced0d1c68cf64a6195c81dbac03dce5983f98eb209e7c84350df?s=96&d=mm&r=g\",\"caption\":\"Hod Greeley, Developer Advocate, Couchbase\"},\"description\":\"Hod Greeley is a Developer Advocate for Couchbase, living in Silicon Valley. He has over two decades of experience as a software engineer and engineering manager. He has worked in a variety of software fields, including computational physics and chemistry, computer and network security, finance, and mobile. Prior to joining Couchbase in 2016, Hod led developer relations for mobile at Samsung. Hod holds a Ph.D. in chemical physics from Columbia University.\",\"sameAs\":[\"https:\/\/hod.greeley.org\/blog\",\"https:\/\/x.com\/HodGreeley\"],\"url\":\"https:\/\/www.couchbase.com\/blog\/author\/hod-greeley\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"New in Couchbase Mobile v1.3: Document Expiration - 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\/new-couchbase-mobile-v1-3-document-expiration\/","og_locale":"en_US","og_type":"article","og_title":"New in Couchbase Mobile v1.3: Document Expiration","og_description":"Document expiration, sometimes referred to as \u201ctime to live\u201d , or TTL, has been a feature of Couchbase Server for some time. \u00a0The new release of version 1.3\u00a0adds this capability to\u00a0Couchbase Mobile. \u00a0Let\u2019s explore a little. Documents and Revisions Couchbase [&hellip;]","og_url":"https:\/\/www.couchbase.com\/blog\/new-couchbase-mobile-v1-3-document-expiration\/","og_site_name":"The Couchbase Blog","article_published_time":"2016-08-09T01:03:50+00:00","article_modified_time":"2023-09-07T08:32:28+00:00","author":"Hod Greeley, Developer Advocate, Couchbase","twitter_card":"summary_large_image","twitter_creator":"@HodGreeley","twitter_misc":{"Written by":"Hod Greeley, Developer Advocate, Couchbase","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/new-couchbase-mobile-v1-3-document-expiration\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/new-couchbase-mobile-v1-3-document-expiration\/"},"author":{"name":"Hod Greeley, Developer Advocate, Couchbase","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/9b62593c8a13531e53d52fcd5aabbca4"},"headline":"New in Couchbase Mobile v1.3: Document Expiration","datePublished":"2016-08-09T01:03:50+00:00","dateModified":"2023-09-07T08:32:28+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/new-couchbase-mobile-v1-3-document-expiration\/"},"wordCount":528,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/new-couchbase-mobile-v1-3-document-expiration\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","articleSection":["Couchbase Mobile"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/new-couchbase-mobile-v1-3-document-expiration\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/new-couchbase-mobile-v1-3-document-expiration\/","url":"https:\/\/www.couchbase.com\/blog\/new-couchbase-mobile-v1-3-document-expiration\/","name":"New in Couchbase Mobile v1.3: Document Expiration - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/new-couchbase-mobile-v1-3-document-expiration\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/new-couchbase-mobile-v1-3-document-expiration\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2016-08-09T01:03:50+00:00","dateModified":"2023-09-07T08:32:28+00:00","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/new-couchbase-mobile-v1-3-document-expiration\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/new-couchbase-mobile-v1-3-document-expiration\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/new-couchbase-mobile-v1-3-document-expiration\/#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-couchbase-mobile-v1-3-document-expiration\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"New in Couchbase Mobile v1.3: Document Expiration"}]},{"@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":"en-US"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"The Couchbase Blog","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@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\/9b62593c8a13531e53d52fcd5aabbca4","name":"Hod Greeley, Developer Advocate, Couchbase","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/21eb69cb5d4a401fb23b149e4f4e9e87","url":"https:\/\/secure.gravatar.com\/avatar\/52d0018695c0ced0d1c68cf64a6195c81dbac03dce5983f98eb209e7c84350df?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/52d0018695c0ced0d1c68cf64a6195c81dbac03dce5983f98eb209e7c84350df?s=96&d=mm&r=g","caption":"Hod Greeley, Developer Advocate, Couchbase"},"description":"Hod Greeley is a Developer Advocate for Couchbase, living in Silicon Valley. He has over two decades of experience as a software engineer and engineering manager. He has worked in a variety of software fields, including computational physics and chemistry, computer and network security, finance, and mobile. Prior to joining Couchbase in 2016, Hod led developer relations for mobile at Samsung. Hod holds a Ph.D. in chemical physics from Columbia University.","sameAs":["https:\/\/hod.greeley.org\/blog","https:\/\/x.com\/HodGreeley"],"url":"https:\/\/www.couchbase.com\/blog\/author\/hod-greeley\/"}]}},"authors":[{"term_id":9042,"user_id":73,"is_guest":0,"slug":"hod-greeley","display_name":"Hod Greeley, Developer Advocate, Couchbase","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/52d0018695c0ced0d1c68cf64a6195c81dbac03dce5983f98eb209e7c84350df?s=96&d=mm&r=g","author_category":"","last_name":"Greeley","first_name":"Hod","job_title":"","user_url":"https:\/\/hod.greeley.org\/blog","description":"Hod Greeley is a Developer Advocate for Couchbase, living in Silicon Valley. He has over two decades of experience as a software engineer and engineering manager. He has worked in a variety of software fields, including computational physics and chemistry, computer and network security, finance, and mobile. Prior to joining Couchbase in 2016, Hod led developer relations for mobile at Samsung. Hod holds a Ph.D. in chemical physics from Columbia University."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts\/2370","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/users\/73"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/comments?post=2370"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts\/2370\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/media\/13873"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/media?parent=2370"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/categories?post=2370"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/tags?post=2370"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=2370"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}