{"id":2030,"date":"2015-11-27T11:14:52","date_gmt":"2015-11-27T11:14:51","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=2030"},"modified":"2025-06-13T20:35:41","modified_gmt":"2025-06-14T03:35:41","slug":"move-documents-from-mongodb-to-couchbase","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/move-documents-from-mongodb-to-couchbase\/","title":{"rendered":"Move Documents from MongoDB to Couchbase"},"content":{"rendered":"<p>Maybe you remember my post about <a href=\"https:\/\/www.couchbase.com\/blog\/moving-couch\/\">moving data from CouchDB to Couchbase<\/a>. If you are not using CouchDB but MongoDB you might have felt let down. I am sorry. Let&#8217;s fix this. Here&#8217;s how to move your data out of MongoDB to Couchbase.<\/p>\n<p>One of the great thing about using <a href=\"https:\/\/github.com\/ReactiveX\/RxJava\">RxJava<\/a> is that this API is becoming more widespread. We make that choice a while ago and are happy to see more people join that wagon, like Mongo did recently.<\/p>\n<p>The fact that we share a stream API is going to make things really easy. My goal is to get an Observable of <a href=\"https:\/\/docs.mongodb.org\/manual\/core\/document\/\">Mongo Document<\/a>, Map it to Couchbase Documents and then write them to Couchbase. As you can see this process is really easy to model with RxJava. In pseudo code it would look like:<\/p>\n<p>getMongoCollectionStream().fromMongoDocumentToCouchbaseDocuments().writeCBdocToCouchbase()<\/p>\n<p>Again this fits very well with RxJava.<\/p>\n<p>MongoDB allows you to open a collection and return it as an Observable of Document. This is exactly what we need and can happen in a couple of lines:<\/p>\n<pre>    MongoClient client = MongoClients.create(connectionString);\r\n    MongoDatabase db = client.getDatabase(dbName);\r\n    Observable mongoDocs = db.getCollection(collectionName).find();\r\n<\/pre>\n<p>Then we need to transform documents coming in into Couchbase documents. We can easily use the Rx map operator to do so. When writing a document on couchbase you need a key or an id. In a Mongo document it is stored in the _id field using the ObjectID abstraction. It&#8217;s generated by Mongo based on several criteria. Once we get that id all we have to do is get the Doc as a JSON string and create a RawJsonDocument based on that and the id.<\/p>\n<pre style=\"font-size: 13px; color: #333333; line-height: 20.8px; text-align: left;\"> db.getCollection(collectionName).find().toObservable()\r\n                .map(new Func1&lt;org.bson.Document, Document&gt;() {\r\n                    public Document call(org.bson.Document mongoDoc) {\r\n                        mongoDoc.put(typeField, type);\r\n                        RawJsonDocument d = RawJsonDocument.create(mongoDoc\r\n                                .getObjectId(\"_id\").toHexString(), mongoDoc\r\n                                .toJson());\r\n                        return d;\r\n                    };\r\n                });<\/pre>\n<p>After this map.operation we are left with an observable of couchbase document. The last step is to write it to Couchbase.<\/p>\n<pre style=\"font-size: 13px; color: #333333; line-height: 20.8px; text-align: left;\">db.getCollection(collectionName).find().toObservable()\r\n                .map(new Func1&lt;org.bson.Document, Document&gt;() {\r\n                    public Document call(org.bson.Document mongoDoc) {\r\n                        mongoDoc.put(typeField, type);\r\n                        RawJsonDocument d = RawJsonDocument.create(mongoDoc\r\n                                .getObjectId(\"_id\").toHexString(), mongoDoc\r\n                                .toJson());\r\n                        return d;\r\n                    };\r\n                }).map(asyncBucket.upsert(doc));;<\/pre>\n<p>I have included all this code and made it configurable in the couchbase-java-importer. It&#8217;s available on Github <a href=\"https:\/\/github.com\/ldoguin\/couchbase-java-importer\">here<\/a>.<\/p>\n<p>If you don&#8217;t need to do anything other than importing the JSON documents from a collection straight into Couchbase, this should be sufficient. Just download the <a href=\"https:\/\/github.com\/ldoguin\/couchbase-java-importer\/releases\/download\/0.0.1-preview\/couchbase-java-importer.zip\">binary<\/a> and execute it making sure the <a href=\"https:\/\/raw.githubusercontent.com\/ldoguin\/couchbase-java-importer\/master\/application-mongodb.yml.sample\">yml configuration<\/a> file is in your classpath and contains the right info.<\/p>\n<p>This is one particular way to move data from MongoDB to Couchbase. There are others. Both databases support CSV import for instance and Mongo has a CSV exporter. So once you have a CSV file you can use <a href=\"https:\/\/developer.couchbase.com\/documentation\/server\/4.0\/cli\/cbtransfer-tool.html\">cbtransfer<\/a> or couchbase-java-importer to get its content to Couchbase.<\/p>\n<p>All these examples are assuming you don&#8217;t want to do any transformation to the data before importing it. Transformation steps would be really easy to plug in the RxJava importer. The code is very simple so please feel free to fork it or send pull requests! Adding more importers to that project can be a great way to enter the CB community by the way :)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Maybe you remember my post about moving data from CouchDB to Couchbase. If you are not using CouchDB but MongoDB you might have felt let down. I am sorry. Let&#8217;s fix this. Here&#8217;s how to move your data out of [&hellip;]<\/p>\n","protected":false},"author":49,"featured_media":13873,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1818],"tags":[1502,1309],"ppma_author":[9023],"class_list":["post-2030","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-java","tag-import","tag-mongodb"],"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>Move Documents from MongoDB to Couchbase - 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\/move-documents-from-mongodb-to-couchbase\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Move Documents from MongoDB to Couchbase\" \/>\n<meta property=\"og:description\" content=\"Maybe you remember my post about moving data from CouchDB to Couchbase. If you are not using CouchDB but MongoDB you might have felt let down. I am sorry. Let&#8217;s fix this. Here&#8217;s how to move your data out of [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/move-documents-from-mongodb-to-couchbase\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2015-11-27T11:14:51+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-14T03:35:41+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1800\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Laurent Doguin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@ldoguin\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"unstructured.io\" \/>\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\/move-documents-from-mongodb-to-couchbase\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/move-documents-from-mongodb-to-couchbase\/\"},\"author\":{\"name\":\"Laurent Doguin\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/c0aa9b8f1ed51b7a9e2f7cb755994a5e\"},\"headline\":\"Move Documents from MongoDB to Couchbase\",\"datePublished\":\"2015-11-27T11:14:51+00:00\",\"dateModified\":\"2025-06-14T03:35:41+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/move-documents-from-mongodb-to-couchbase\/\"},\"wordCount\":470,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/move-documents-from-mongodb-to-couchbase\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"keywords\":[\"import\",\"mongodb\"],\"articleSection\":[\"Java\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/move-documents-from-mongodb-to-couchbase\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/move-documents-from-mongodb-to-couchbase\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/move-documents-from-mongodb-to-couchbase\/\",\"name\":\"Move Documents from MongoDB to Couchbase - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/move-documents-from-mongodb-to-couchbase\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/move-documents-from-mongodb-to-couchbase\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2015-11-27T11:14:51+00:00\",\"dateModified\":\"2025-06-14T03:35:41+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/move-documents-from-mongodb-to-couchbase\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/move-documents-from-mongodb-to-couchbase\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/move-documents-from-mongodb-to-couchbase\/#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\/move-documents-from-mongodb-to-couchbase\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Move Documents from MongoDB to 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\":\"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\/c0aa9b8f1ed51b7a9e2f7cb755994a5e\",\"name\":\"Laurent Doguin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/12929ce99397769f362b7a90d6b85071\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/b8c466908092b46634af916b6921f30187a051e4367ded7ac9b1a3f2c5692fd2?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/b8c466908092b46634af916b6921f30187a051e4367ded7ac9b1a3f2c5692fd2?s=96&d=mm&r=g\",\"caption\":\"Laurent Doguin\"},\"description\":\"Laurent is a nerdy metal head who lives in Paris. He mostly writes code in Java and structured text in AsciiDoc, and often talks about data, reactive programming and other buzzwordy stuff. He is also a former Developer Advocate for Clever Cloud and Nuxeo where he devoted his time and expertise to helping those communities grow bigger and stronger. He now runs Developer Relations at Couchbase.\",\"sameAs\":[\"https:\/\/x.com\/ldoguin\"],\"honorificPrefix\":\"Mr\",\"birthDate\":\"1985-06-07\",\"gender\":\"male\",\"award\":[\"Devoxx Champion\",\"Couchbase Legend\"],\"knowsAbout\":[\"Java\"],\"knowsLanguage\":[\"English\",\"French\"],\"jobTitle\":\"Director Developer Relation & Strategy\",\"worksFor\":\"Couchbase\",\"url\":\"https:\/\/www.couchbase.com\/blog\/author\/laurent-doguin\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Move Documents from MongoDB to Couchbase - 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\/move-documents-from-mongodb-to-couchbase\/","og_locale":"en_US","og_type":"article","og_title":"Move Documents from MongoDB to Couchbase","og_description":"Maybe you remember my post about moving data from CouchDB to Couchbase. If you are not using CouchDB but MongoDB you might have felt let down. I am sorry. Let&#8217;s fix this. Here&#8217;s how to move your data out of [&hellip;]","og_url":"https:\/\/www.couchbase.com\/blog\/move-documents-from-mongodb-to-couchbase\/","og_site_name":"The Couchbase Blog","article_published_time":"2015-11-27T11:14:51+00:00","article_modified_time":"2025-06-14T03:35:41+00:00","og_image":[{"width":1800,"height":630,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","type":"image\/png"}],"author":"Laurent Doguin","twitter_card":"summary_large_image","twitter_creator":"@ldoguin","twitter_misc":{"Written by":"unstructured.io","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/move-documents-from-mongodb-to-couchbase\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/move-documents-from-mongodb-to-couchbase\/"},"author":{"name":"Laurent Doguin","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/c0aa9b8f1ed51b7a9e2f7cb755994a5e"},"headline":"Move Documents from MongoDB to Couchbase","datePublished":"2015-11-27T11:14:51+00:00","dateModified":"2025-06-14T03:35:41+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/move-documents-from-mongodb-to-couchbase\/"},"wordCount":470,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/move-documents-from-mongodb-to-couchbase\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","keywords":["import","mongodb"],"articleSection":["Java"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/move-documents-from-mongodb-to-couchbase\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/move-documents-from-mongodb-to-couchbase\/","url":"https:\/\/www.couchbase.com\/blog\/move-documents-from-mongodb-to-couchbase\/","name":"Move Documents from MongoDB to Couchbase - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/move-documents-from-mongodb-to-couchbase\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/move-documents-from-mongodb-to-couchbase\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2015-11-27T11:14:51+00:00","dateModified":"2025-06-14T03:35:41+00:00","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/move-documents-from-mongodb-to-couchbase\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/move-documents-from-mongodb-to-couchbase\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/move-documents-from-mongodb-to-couchbase\/#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\/move-documents-from-mongodb-to-couchbase\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Move Documents from MongoDB to 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":"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\/c0aa9b8f1ed51b7a9e2f7cb755994a5e","name":"Laurent Doguin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/12929ce99397769f362b7a90d6b85071","url":"https:\/\/secure.gravatar.com\/avatar\/b8c466908092b46634af916b6921f30187a051e4367ded7ac9b1a3f2c5692fd2?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/b8c466908092b46634af916b6921f30187a051e4367ded7ac9b1a3f2c5692fd2?s=96&d=mm&r=g","caption":"Laurent Doguin"},"description":"Laurent is a nerdy metal head who lives in Paris. He mostly writes code in Java and structured text in AsciiDoc, and often talks about data, reactive programming and other buzzwordy stuff. He is also a former Developer Advocate for Clever Cloud and Nuxeo where he devoted his time and expertise to helping those communities grow bigger and stronger. He now runs Developer Relations at Couchbase.","sameAs":["https:\/\/x.com\/ldoguin"],"honorificPrefix":"Mr","birthDate":"1985-06-07","gender":"male","award":["Devoxx Champion","Couchbase Legend"],"knowsAbout":["Java"],"knowsLanguage":["English","French"],"jobTitle":"Director Developer Relation & Strategy","worksFor":"Couchbase","url":"https:\/\/www.couchbase.com\/blog\/author\/laurent-doguin\/"}]}},"authors":[{"term_id":9023,"user_id":49,"is_guest":0,"slug":"laurent-doguin","display_name":"Laurent Doguin","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/b8c466908092b46634af916b6921f30187a051e4367ded7ac9b1a3f2c5692fd2?s=96&d=mm&r=g","author_category":"","last_name":"Doguin","first_name":"Laurent","job_title":"","user_url":"","description":"Laurent is a nerdy metal head who lives in Paris. He mostly writes code in Java and structured text in AsciiDoc, and often talks about data, reactive programming and other buzzwordy stuff. He is also a former Developer Advocate for Clever Cloud and Nuxeo where he devoted his time and expertise to helping those communities grow bigger and stronger. He now runs Developer Relations at Couchbase."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts\/2030","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\/49"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/comments?post=2030"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts\/2030\/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=2030"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/categories?post=2030"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/tags?post=2030"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=2030"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}