{"id":5140,"date":"2026-02-25T13:15:25","date_gmt":"2026-02-25T21:15:25","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/couchbases-data-api-in-practice-with-nodered\/"},"modified":"2026-02-25T13:15:25","modified_gmt":"2026-02-25T21:15:25","slug":"couchbases-data-api-in-practice-with-nodered","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/ko\/couchbases-data-api-in-practice-with-nodered\/","title":{"rendered":"Couchbase&#8217;s Data API in Practice With NodeRed"},"content":{"rendered":"\n<p><span>Couchbase Capella has a new Data API. If you\u2019re wondering why it is important since we already have SDKs, the answer is <\/span><a href=\"https:\/\/docs.couchbase.com\/cloud\/data-api-guide\/data-api-sdks.html\"><span>addressed in our documentation<\/span><\/a> <span>\u2013 <\/span><span>but here\u2019s a quick comparison:<\/span><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><b>Data API:<\/b><span> HTTP, language, and runtime agnostic; easy integration with zero dependency; plus trade-offs in latency, throughput, and resiliency features.<\/span><\/li>\n\n\n<li><b>SDKs:<\/b><span> Native library, richer features, better performance, better suited to workloads where scale and resilience matter.<\/span><\/li>\n\n<\/ul>\n\n\n\n<p><span>Some use cases:<\/span><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><b>Functions for FaaS\/Serverless:<\/b><span> AWS Lambda, Google Cloud Functions, Azure Functions, Netlify Functions<\/span><\/li>\n\n\n<li><b>SaaS integrations:<\/b><span> Zapier, IFTTT, Relay, Make, N8N, Flowwise, Node-RED<\/span><\/li>\n\n\n<li><b>Scripting:<\/b><span> Jenkins Pipeline or GitHub Actions<\/span><\/li>\n\n\n<li><b>Internal tools:<\/b><span> Dashboard, Grafana<\/span><\/li>\n\n<\/ul>\n\n\n\n<p><span>All of these use cases can be implemented but would require either the deployment and management of your own Couchbase SDK-backed API, or ensuring SDKs were available where the code was running <\/span><span>\u2013<\/span><span> which in some cases is impossible.<\/span><\/p>\n\n\n\n<p><span>With that, let\u2019s see how this all works in practice with a use case example.<\/span><\/p>\n\n\n\n<p><a href=\"https:\/\/nodered.org\/\"><span>Node-RED<\/span><\/a><span> Example<\/span><\/p>\n\n\n\n<p><span>Node-RED enables low-code programming for event-driven applications. It\u2019s visual, simple, lightweight, and it runs on a wide range of hardware platforms. However, while it supports the use of external modules, some <\/span><span>\u2013<\/span><span> especially those that depend on native libraries, such as our Node SDK, can\u00a0 be difficult to use. This presents a perfect excuse to try the new Data API.<\/span><\/p>\n\n\n\n<p><span>Below is a simple use case that tries to scrape data from luma to know what\u2019s going on in Paris. You can see the results below. Note, the top-level flow is the ingestion, the second is the debugging query.\u00a0<\/span><\/p>\n\n\n\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-17893\" src=\"https:\/\/www.couchbase.com\/wp-content\/uploads\/sites\/5\/2026\/05\/Screenshot-2026-02-25-at-1.03.15-PM.png\" alt=\"\" width=\"1282\" height=\"388\"><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span>Ingestion Flow<\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><b>Start:<\/b><span> An ingest node that triggers this every 72 hours.<\/span><\/li>\n\n\n<li><b>Query luma:<\/b><span> An HTTP request to <\/span><a href=\"https:\/\/luma.com\/paris\"><span>https:\/\/luma.com\/paris<\/span><\/a><span>.<\/span><\/li>\n\n\n<li><b>Extract events:<\/b><span> An HTML parser to retrieve the list of events as String.<\/span><\/li>\n\n\n<li><b>Convert to JSON:<\/b><span> A JSON parser to turn this String in a JSON Object.<\/span><\/li>\n\n\n<li><b>Parse_to_events:<\/b><span> A function that takes this object and creates a new one with only the required data.<\/span><\/li>\n\n<\/ul>\n\n\n\n<p><span>The code looks like this:<\/span><\/p>\n\n\n<p>[crayon lang=&#8221;default&#8221; decode=&#8221;true&#8221;]var newMsg = { payload: msg.payload[0].content.props.pageProps.initialData.data.events };<br \/>\nreturn newMsg;[\/crayon]<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><b>forEach:<\/b><span> A Split tasks that splits the events JSON object from the previous step.<\/span><\/li>\n\n\n<li><b>Create event in Couchbase:<\/b><span> An HTTP request is sent to the <\/span><a href=\"https:\/\/docs.couchbase.com\/cloud\/data-api-guide\/data-api-use.html\"><span>Capella Data API<\/span><\/a><span>. Whatever is in the payload of the previous step will be the body of the request. You can use Mustache templating for the URL field. Here\u2019s a screenshot of the actual step; it\u2019s like running this curl command:<\/span><\/li>\n\n<\/ul>\n\n\n<p>[crayon lang=&#8221;default&#8221; decode=&#8221;true&#8221;]  curl -X PUT &#8211;user api:****  -H &#8216;Content-Type: application\/json&#8217;<br \/>\n   -d &#8216;{&#8220;event&#8221;:&#8221;data&#8221;,&#8230;}&#8217;<br \/>\nhttps:\/\/snzd9hz3unnntl7.data.cloud.couchbase.com\/v1\/buckets\/events\/scopes\/paris\/collections\/luma\/documents\/fd5hds83[\/crayon]<\/p>\n\n\n\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-17894\" src=\"https:\/\/www.couchbase.com\/wp-content\/uploads\/sites\/5\/2026\/05\/Screenshot-2026-02-25-at-1.08.12-PM.png\" alt=\"\" width=\"1286\" height=\"1098\"><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><b>Debug1:<\/b><span> A debug step to see the results of all the requests.\u00a0<\/span><\/li>\n\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><span>Debug FLow<\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><b>Start:<\/b><span> An ingest node that must be triggered manually.<\/span><\/li>\n\n\n<li><b>SQL_Query:<\/b><span> A function that returns a JSON object representing the query to run.<\/span><\/li>\n\n<\/ul>\n\n\n<p>[crayon lang=&#8221;default&#8221; decode=&#8221;true&#8221;]var query = { statement: &#8220;SELECT * FROM events.paris.luma ;&#8221; }<br \/>\nvar newMsg = { payload: query };<br \/>\nreturn newMsg<br \/>\n[\/crayon]<\/p>\n\n\n\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-17895\" src=\"https:\/\/www.couchbase.com\/wp-content\/uploads\/sites\/5\/2026\/05\/Screenshot-2026-02-25-at-1.09.44-PM.png\" alt=\"\" width=\"1296\" height=\"1378\"><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><b>Query events in Couchbase:<\/b><span> An HTTP Request that runs the given query. It would look like the following curl command:<\/span><\/li>\n\n<\/ul>\n\n\n<p>[crayon lang=&#8221;default&#8221; decode=&#8221;true&#8221;]curl -X POST &#8211;user api:****  -H &#8216;Content-Type: application\/json&#8217;<br \/>\n   -d &#8216;{ statement: &#8220;SELECT * FROM events.paris.luma ;&#8221; }&#8217;<br \/>\nhttps:\/\/snzd9hz3unnntl7.data.cloud.couchbase.com\/_p\/query\/query\/service<br \/>\n[\/crayon]<\/p>\n\n\n\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-17896\" src=\"https:\/\/www.couchbase.com\/wp-content\/uploads\/sites\/5\/2026\/05\/Screenshot-2026-02-25-at-1.11.10-PM.png\" alt=\"\" width=\"1276\" height=\"1078\"><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span>Try It Yourself<\/span><\/h3>\n\n\n\n<p><span>Node-RED can easily be run on your machine with `docker run -it -p 1880:1880 &#8211;name mynodered nodered\/node-red`<\/span><\/p>\n\n\n\n<p><span>Then go to <\/span><a href=\"http:\/\/127.0.0.1:1880\/\"><span>http:\/\/127.0.0.1:1880\/<\/span><\/a><span> and follow the instructions. You can either create the nodes by hand or import this flow with this JSON export:<\/span><\/p>\n\n\n<p>[crayon lang=&#8221;default&#8221; decode=&#8221;true&#8221;][<br \/>\n   {<br \/>\n  \t&#8220;id&#8221;:&#8221;f6f2187d.f17ca8&#8243;,<br \/>\n  \t&#8220;type&#8221;:&#8221;tab&#8221;,<br \/>\n  \t&#8220;label&#8221;:&#8221;Event Ingestion&#8221;,<br \/>\n  \t&#8220;disabled&#8221;:false,<br \/>\n  \t&#8220;info&#8221;:&#8221;&#8221;<br \/>\n   },<br \/>\n   {<br \/>\n  \t&#8220;id&#8221;:&#8221;5039574f789798bf&#8221;,<br \/>\n  \t&#8220;type&#8221;:&#8221;inject&#8221;,<br \/>\n  \t&#8220;z&#8221;:&#8221;f6f2187d.f17ca8&#8243;,<br \/>\n  \t&#8220;name&#8221;:&#8221;Start&#8221;,<br \/>\n  \t&#8220;props&#8221;:[<br \/>\n     \t{<br \/>\n        \t&#8220;p&#8221;:&#8221;payload&#8221;<br \/>\n     \t},<br \/>\n     \t{<br \/>\n        \t&#8220;p&#8221;:&#8221;topic&#8221;,<br \/>\n        \t&#8220;vt&#8221;:&#8221;str&#8221;<br \/>\n     \t}<br \/>\n  \t],<br \/>\n  \t&#8220;repeat&#8221;:&#8221;259200&#8243;,<br \/>\n  \t&#8220;crontab&#8221;:&#8221;&#8221;,<br \/>\n  \t&#8220;once&#8221;:false,<br \/>\n  \t&#8220;onceDelay&#8221;:0.1,<br \/>\n  \t&#8220;topic&#8221;:&#8221;&#8221;,<br \/>\n  \t&#8220;payload&#8221;:&#8221;&#8221;,<br \/>\n  \t&#8220;payloadType&#8221;:&#8221;date&#8221;,<br \/>\n  \t&#8220;x&#8221;:90,<br \/>\n  \t&#8220;y&#8221;:60,<br \/>\n  \t&#8220;wires&#8221;:[<br \/>\n     \t[<br \/>\n        \t&#8220;a7e82076addaf2bf&#8221;<br \/>\n     \t]<br \/>\n  \t]<br \/>\n   },<br \/>\n   {<br \/>\n  \t&#8220;id&#8221;:&#8221;65dcb4aeead12a54&#8243;,<br \/>\n  \t&#8220;type&#8221;:&#8221;debug&#8221;,<br \/>\n  \t&#8220;z&#8221;:&#8221;f6f2187d.f17ca8&#8243;,<br \/>\n  \t&#8220;name&#8221;:&#8221;debug 1&#8243;,<br \/>\n  \t&#8220;active&#8221;:true,<br \/>\n  \t&#8220;tosidebar&#8221;:true,<br \/>\n  \t&#8220;console&#8221;:false,<br \/>\n  \t&#8220;tostatus&#8221;:false,<br \/>\n  \t&#8220;complete&#8221;:&#8221;payload&#8221;,<br \/>\n  \t&#8220;targetType&#8221;:&#8221;msg&#8221;,<br \/>\n  \t&#8220;statusVal&#8221;:&#8221;&#8221;,<br \/>\n  \t&#8220;statusType&#8221;:&#8221;auto&#8221;,<br \/>\n  \t&#8220;x&#8221;:580,<br \/>\n  \t&#8220;y&#8221;:120,<br \/>\n  \t&#8220;wires&#8221;:[<\/p>\n<p>  \t]<br \/>\n   },<br \/>\n   {<br \/>\n  \t&#8220;id&#8221;:&#8221;a7e82076addaf2bf&#8221;,<br \/>\n  \t&#8220;type&#8221;:&#8221;http request&#8221;,<br \/>\n  \t&#8220;z&#8221;:&#8221;f6f2187d.f17ca8&#8243;,<br \/>\n  \t&#8220;name&#8221;:&#8221;Query Luma&#8221;,<br \/>\n  \t&#8220;method&#8221;:&#8221;GET&#8221;,<br \/>\n  \t&#8220;ret&#8221;:&#8221;txt&#8221;,<br \/>\n  \t&#8220;paytoqs&#8221;:&#8221;ignore&#8221;,<br \/>\n  \t&#8220;url&#8221;:&#8221;https:\/\/luma.com\/paris&#8221;,<br \/>\n  \t&#8220;tls&#8221;:&#8221;&#8221;,<br \/>\n  \t&#8220;persist&#8221;:false,<br \/>\n  \t&#8220;proxy&#8221;:&#8221;&#8221;,<br \/>\n  \t&#8220;insecureHTTPParser&#8221;:false,<br \/>\n  \t&#8220;authType&#8221;:&#8221;&#8221;,<br \/>\n  \t&#8220;senderr&#8221;:false,<br \/>\n  \t&#8220;headers&#8221;:[<\/p>\n<p>  \t],<br \/>\n  \t&#8220;x&#8221;:290,<br \/>\n  \t&#8220;y&#8221;:60,<br \/>\n  \t&#8220;wires&#8221;:[<br \/>\n     \t[<br \/>\n        \t&#8220;c463b094ea88ec73&#8221;<br \/>\n     \t]<br \/>\n  \t]<br \/>\n   },<br \/>\n   {<br \/>\n  \t&#8220;id&#8221;:&#8221;c463b094ea88ec73&#8243;,<br \/>\n  \t&#8220;type&#8221;:&#8221;html&#8221;,<br \/>\n  \t&#8220;z&#8221;:&#8221;f6f2187d.f17ca8&#8243;,<br \/>\n  \t&#8220;name&#8221;:&#8221;Extract Events&#8221;,<br \/>\n  \t&#8220;property&#8221;:&#8221;payload&#8221;,<br \/>\n  \t&#8220;outproperty&#8221;:&#8221;payload&#8221;,<br \/>\n  \t&#8220;tag&#8221;:&#8221;#__NEXT_DATA__&#8221;,<br \/>\n  \t&#8220;ret&#8221;:&#8221;compl&#8221;,<br \/>\n  \t&#8220;as&#8221;:&#8221;single&#8221;,<br \/>\n  \t&#8220;chr&#8221;:&#8221;content&#8221;,<br \/>\n  \t&#8220;x&#8221;:480,<br \/>\n  \t&#8220;y&#8221;:60,<br \/>\n  \t&#8220;wires&#8221;:[<br \/>\n     \t[<br \/>\n        \t&#8220;3be4c6d9e4554672&#8221;<br \/>\n     \t]<br \/>\n  \t]<br \/>\n   },<br \/>\n   {<br \/>\n  \t&#8220;id&#8221;:&#8221;3be4c6d9e4554672&#8243;,<br \/>\n  \t&#8220;type&#8221;:&#8221;json&#8221;,<br \/>\n  \t&#8220;z&#8221;:&#8221;f6f2187d.f17ca8&#8243;,<br \/>\n  \t&#8220;name&#8221;:&#8221;Convert to JSON&#8221;,<br \/>\n  \t&#8220;property&#8221;:&#8221;payload[0].content&#8221;,<br \/>\n  \t&#8220;action&#8221;:&#8221;obj&#8221;,<br \/>\n  \t&#8220;pretty&#8221;:true,<br \/>\n  \t&#8220;x&#8221;:690,<br \/>\n  \t&#8220;y&#8221;:60,<br \/>\n  \t&#8220;wires&#8221;:[<br \/>\n     \t[<br \/>\n        \t&#8220;9b66605f179021d0&#8221;<br \/>\n     \t]<br \/>\n  \t]<br \/>\n   },<br \/>\n   {<br \/>\n  \t&#8220;id&#8221;:&#8221;9b66605f179021d0&#8243;,<br \/>\n  \t&#8220;type&#8221;:&#8221;function&#8221;,<br \/>\n  \t&#8220;z&#8221;:&#8221;f6f2187d.f17ca8&#8243;,<br \/>\n  \t&#8220;name&#8221;:&#8221;parse_to_events&#8221;,<br \/>\n  \t&#8220;func&#8221;:&#8221;var newMsg = { payload: msg.payload[0].content.props.pageProps.initialData.data.events };nreturn newMsg;&#8221;,<br \/>\n  \t&#8220;outputs&#8221;:1,<br \/>\n  \t&#8220;timeout&#8221;:0,<br \/>\n  \t&#8220;noerr&#8221;:0,<br \/>\n  \t&#8220;initialize&#8221;:&#8221;&#8221;,<br \/>\n  \t&#8220;finalize&#8221;:&#8221;&#8221;,<br \/>\n  \t&#8220;libs&#8221;:[<\/p>\n<p>  \t],<br \/>\n  \t&#8220;x&#8221;:900,<br \/>\n  \t&#8220;y&#8221;:60,<br \/>\n  \t&#8220;wires&#8221;:[<br \/>\n     \t[<br \/>\n        \t&#8220;1924a3c26b9520bd&#8221;<br \/>\n     \t]<br \/>\n  \t]<br \/>\n   },<br \/>\n   {<br \/>\n  \t&#8220;id&#8221;:&#8221;1924a3c26b9520bd&#8221;,<br \/>\n  \t&#8220;type&#8221;:&#8221;split&#8221;,<br \/>\n  \t&#8220;z&#8221;:&#8221;f6f2187d.f17ca8&#8243;,<br \/>\n  \t&#8220;name&#8221;:&#8221;foreach&#8221;,<br \/>\n  \t&#8220;splt&#8221;:&#8221;1&#8243;,<br \/>\n  \t&#8220;spltType&#8221;:&#8221;len&#8221;,<br \/>\n  \t&#8220;arraySplt&#8221;:1,<br \/>\n  \t&#8220;arraySpltType&#8221;:&#8221;len&#8221;,<br \/>\n  \t&#8220;stream&#8221;:true,<br \/>\n  \t&#8220;addname&#8221;:&#8221;&#8221;,<br \/>\n  \t&#8220;property&#8221;:&#8221;payload&#8221;,<br \/>\n  \t&#8220;x&#8221;:120,<br \/>\n  \t&#8220;y&#8221;:120,<br \/>\n  \t&#8220;wires&#8221;:[<br \/>\n     \t[<br \/>\n        \t&#8220;7e3a02b180875fed&#8221;<br \/>\n     \t]<br \/>\n  \t]<br \/>\n   },<br \/>\n   {<br \/>\n  \t&#8220;id&#8221;:&#8221;7e3a02b180875fed&#8221;,<br \/>\n  \t&#8220;type&#8221;:&#8221;http request&#8221;,<br \/>\n  \t&#8220;z&#8221;:&#8221;f6f2187d.f17ca8&#8243;,<br \/>\n  \t&#8220;name&#8221;:&#8221;create event in couchbase&#8221;,<br \/>\n  \t&#8220;method&#8221;:&#8221;PUT&#8221;,<br \/>\n  \t&#8220;ret&#8221;:&#8221;txt&#8221;,<br \/>\n  \t&#8220;paytoqs&#8221;:&#8221;query&#8221;,<br \/>\n  \t&#8220;url&#8221;:&#8221;https:\/\/snzd9hz3unnntl7.data.cloud.couchbase.com\/v1\/buckets\/events\/scopes\/paris\/collections\/luma\/documents\/{{{payload.event.url}}}&#8221;,<br \/>\n  \t&#8220;tls&#8221;:&#8221;&#8221;,<br \/>\n  \t&#8220;persist&#8221;:true,<br \/>\n  \t&#8220;proxy&#8221;:&#8221;&#8221;,<br \/>\n  \t&#8220;insecureHTTPParser&#8221;:false,<br \/>\n  \t&#8220;authType&#8221;:&#8221;basic&#8221;,<br \/>\n  \t&#8220;senderr&#8221;:false,<br \/>\n  \t&#8220;headers&#8221;:[<\/p>\n<p>  \t],<br \/>\n  \t&#8220;x&#8221;:370,<br \/>\n  \t&#8220;y&#8221;:120,<br \/>\n  \t&#8220;wires&#8221;:[<br \/>\n     \t[<br \/>\n        \t&#8220;65dcb4aeead12a54&#8221;<br \/>\n     \t]<br \/>\n  \t]<br \/>\n   },<br \/>\n   {<br \/>\n  \t&#8220;id&#8221;:&#8221;f309559bde533ab6&#8243;,<br \/>\n  \t&#8220;type&#8221;:&#8221;inject&#8221;,<br \/>\n  \t&#8220;z&#8221;:&#8221;f6f2187d.f17ca8&#8243;,<br \/>\n  \t&#8220;name&#8221;:&#8221;Start&#8221;,<br \/>\n  \t&#8220;props&#8221;:[<br \/>\n     \t{<br \/>\n        \t&#8220;p&#8221;:&#8221;payload&#8221;<br \/>\n     \t},<br \/>\n     \t{<br \/>\n        \t&#8220;p&#8221;:&#8221;topic&#8221;,<br \/>\n        \t&#8220;vt&#8221;:&#8221;str&#8221;<br \/>\n     \t}<br \/>\n  \t],<br \/>\n  \t&#8220;repeat&#8221;:&#8221;&#8221;,<br \/>\n  \t&#8220;crontab&#8221;:&#8221;&#8221;,<br \/>\n  \t&#8220;once&#8221;:false,<br \/>\n  \t&#8220;onceDelay&#8221;:0.1,<br \/>\n  \t&#8220;topic&#8221;:&#8221;&#8221;,<br \/>\n  \t&#8220;payload&#8221;:&#8221;&#8221;,<br \/>\n  \t&#8220;payloadType&#8221;:&#8221;date&#8221;,<br \/>\n  \t&#8220;x&#8221;:90,<br \/>\n  \t&#8220;y&#8221;:200,<br \/>\n  \t&#8220;wires&#8221;:[<br \/>\n     \t[<br \/>\n        \t&#8220;49244e9d100517aa&#8221;<br \/>\n     \t]<br \/>\n  \t]<br \/>\n   },<br \/>\n   {<br \/>\n  \t&#8220;id&#8221;:&#8221;7945b9a86fa49919&#8243;,<br \/>\n  \t&#8220;type&#8221;:&#8221;http request&#8221;,<br \/>\n  \t&#8220;z&#8221;:&#8221;f6f2187d.f17ca8&#8243;,<br \/>\n  \t&#8220;name&#8221;:&#8221;query events in couchbase&#8221;,<br \/>\n  \t&#8220;method&#8221;:&#8221;POST&#8221;,<br \/>\n  \t&#8220;ret&#8221;:&#8221;txt&#8221;,<br \/>\n  \t&#8220;paytoqs&#8221;:&#8221;query&#8221;,<br \/>\n  \t&#8220;url&#8221;:&#8221;https:\/\/snzd9hz3unnntl7.data.cloud.couchbase.com\/_p\/query\/query\/service&#8221;,<br \/>\n  \t&#8220;tls&#8221;:&#8221;&#8221;,<br \/>\n  \t&#8220;persist&#8221;:true,<br \/>\n  \t&#8220;proxy&#8221;:&#8221;&#8221;,<br \/>\n  \t&#8220;insecureHTTPParser&#8221;:false,<br \/>\n  \t&#8220;authType&#8221;:&#8221;basic&#8221;,<br \/>\n  \t&#8220;senderr&#8221;:false,<br \/>\n  \t&#8220;headers&#8221;:[<br \/>\n     \t{<br \/>\n        \t&#8220;keyType&#8221;:&#8221;other&#8221;,<br \/>\n        \t&#8220;keyValue&#8221;:&#8221;Accept&#8221;,<br \/>\n        \t&#8220;valueType&#8221;:&#8221;other&#8221;,<br \/>\n        \t&#8220;valueValue&#8221;:&#8221;application\/json&#8221;<br \/>\n     \t}<br \/>\n  \t],<br \/>\n  \t&#8220;x&#8221;:520,<br \/>\n  \t&#8220;y&#8221;:200,<br \/>\n  \t&#8220;wires&#8221;:[<br \/>\n     \t[<br \/>\n        \t&#8220;24b1dd899b6d2ef1&#8221;<br \/>\n     \t]<br \/>\n  \t]<br \/>\n   },<br \/>\n   {<br \/>\n  \t&#8220;id&#8221;:&#8221;24b1dd899b6d2ef1&#8243;,<br \/>\n  \t&#8220;type&#8221;:&#8221;debug&#8221;,<br \/>\n  \t&#8220;z&#8221;:&#8221;f6f2187d.f17ca8&#8243;,<br \/>\n  \t&#8220;name&#8221;:&#8221;debug 2&#8243;,<br \/>\n  \t&#8220;active&#8221;:true,<br \/>\n  \t&#8220;tosidebar&#8221;:true,<br \/>\n  \t&#8220;console&#8221;:false,<br \/>\n  \t&#8220;tostatus&#8221;:false,<br \/>\n  \t&#8220;complete&#8221;:&#8221;payload&#8221;,<br \/>\n  \t&#8220;targetType&#8221;:&#8221;msg&#8221;,<br \/>\n  \t&#8220;statusVal&#8221;:&#8221;&#8221;,<br \/>\n  \t&#8220;statusType&#8221;:&#8221;auto&#8221;,<br \/>\n  \t&#8220;x&#8221;:740,<br \/>\n  \t&#8220;y&#8221;:200,<br \/>\n  \t&#8220;wires&#8221;:[<\/p>\n<p>  \t]<br \/>\n   },<br \/>\n   {<br \/>\n  \t&#8220;id&#8221;:&#8221;49244e9d100517aa&#8221;,<br \/>\n  \t&#8220;type&#8221;:&#8221;function&#8221;,<br \/>\n  \t&#8220;z&#8221;:&#8221;f6f2187d.f17ca8&#8243;,<br \/>\n  \t&#8220;name&#8221;:&#8221;SQL Query&#8221;,<br \/>\n  \t&#8220;func&#8221;:&#8221;var query = { statement: &#8220;SELECT * FROM events.paris.luma ;&#8221; }nvar newMsg = { payload: query };nreturn newMsg&#8221;,<br \/>\n  \t&#8220;outputs&#8221;:1,<br \/>\n  \t&#8220;timeout&#8221;:0,<br \/>\n  \t&#8220;noerr&#8221;:0,<br \/>\n  \t&#8220;initialize&#8221;:&#8221;&#8221;,<br \/>\n  \t&#8220;finalize&#8221;:&#8221;&#8221;,<br \/>\n  \t&#8220;libs&#8221;:[<\/p>\n<p>  \t],<br \/>\n  \t&#8220;x&#8221;:270,<br \/>\n  \t&#8220;y&#8221;:200,<br \/>\n  \t&#8220;wires&#8221;:[<br \/>\n     \t[<br \/>\n        \t&#8220;7945b9a86fa49919&#8221;<br \/>\n     \t]<br \/>\n  \t]<br \/>\n   }<br \/>\n]<br \/>\n[\/crayon]<\/p>\n\n\n\n<p><span>You will need a Capella instance with the Data API enabled. It\u2019s available in our Free Tier and is easy to test. Just go to <\/span><a href=\"http:\/\/cloud.couchbase.com\"><span>cloud.couchbase.com<\/span><\/a><span>, open your cluster, and go to the connect tab. You will then click on <\/span><b>Enable Data API<\/b><span>. This can take up to 20 minutes to be ready, so in the interim you can follow the instructions about IP addresses and credentials.\u00a0<\/span><\/p>\n\n\n\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-17897\" src=\"https:\/\/www.couchbase.com\/wp-content\/uploads\/sites\/5\/2026\/05\/Screenshot-2026-02-25-at-1.12.28-PM.png\" alt=\"\" width=\"1278\" height=\"540\"><span>You now have everything you need to use the Data API, specifically the URL endpoint of the API. You can also access the <\/span><a href=\"https:\/\/docs.couchbase.com\/cloud\/data-api-reference\/index.html\"><span>Reference Documentation<\/span><\/a><span> for more information.<\/span><\/p>\n\n\n\n<p><span>We hope you enjoy this new Capella feature, and all the use cases that are now available to you.<\/span><\/p>\n\n\n\n<p>\u00a0<\/p>\n\n\n\n<p>\u00a0<\/p>\n\n\n\n<p>\u00a0<\/p>\n\n\n\n<p>\u00a0<\/p>\n\n\n\n<p>\u00a0<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Couchbase Capella has a new Data API. If you\u2019re wondering why it is important since we already have SDKs, the answer is addressed in our documentation \u2013 but here\u2019s a quick comparison: Some use cases: All of these use cases can be implemented but would require either the deployment and management of your own Couchbase [&hellip;]<\/p>\n","protected":false},"author":49,"featured_media":5139,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[54,64],"tags":[],"ppma_author":[110],"class_list":["post-5140","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-couchbase-server","category-tools-sdks"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.6 (Yoast SEO v27.6) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Couchbase&#039;s Data API in Practice With NodeRed - 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\/ko\/couchbases-data-api-in-practice-with-nodered\/\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Couchbase&#039;s Data API in Practice With NodeRed\" \/>\n<meta property=\"og:description\" content=\"Couchbase Capella has a new Data API. If you\u2019re wondering why it is important since we already have SDKs, the answer is addressed in our documentation \u2013 but here\u2019s a quick comparison: Some use cases: All of these use cases can be implemented but would require either the deployment and management of your own Couchbase [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/ko\/couchbases-data-api-in-practice-with-nodered\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-02-25T21:15:25+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/5\/2026\/05\/Couchbases-Data-API-in-Practice-With-NodeRed.png\" \/>\n\t<meta property=\"og:image:width\" content=\"2400\" \/>\n\t<meta property=\"og:image:height\" content=\"1256\" \/>\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=\"Laurent Doguin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/couchbases-data-api-in-practice-with-nodered\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/couchbases-data-api-in-practice-with-nodered\\\/\"},\"author\":{\"name\":\"Laurent Doguin\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#\\\/schema\\\/person\\\/c0aa9b8f1ed51b7a9e2f7cb755994a5e\"},\"headline\":\"Couchbase&#8217;s Data API in Practice With NodeRed\",\"datePublished\":\"2026-02-25T21:15:25+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/couchbases-data-api-in-practice-with-nodered\\\/\"},\"wordCount\":1249,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/couchbases-data-api-in-practice-with-nodered\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/5\\\/2026\\\/05\\\/Couchbases-Data-API-in-Practice-With-NodeRed.png\",\"articleSection\":[\"Couchbase Server\",\"Tools &amp; SDKs\"],\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/couchbases-data-api-in-practice-with-nodered\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/couchbases-data-api-in-practice-with-nodered\\\/\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/couchbases-data-api-in-practice-with-nodered\\\/\",\"name\":\"Couchbase's Data API in Practice With NodeRed - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/couchbases-data-api-in-practice-with-nodered\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/couchbases-data-api-in-practice-with-nodered\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/5\\\/2026\\\/05\\\/Couchbases-Data-API-in-Practice-With-NodeRed.png\",\"datePublished\":\"2026-02-25T21:15:25+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/couchbases-data-api-in-practice-with-nodered\\\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/couchbases-data-api-in-practice-with-nodered\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/couchbases-data-api-in-practice-with-nodered\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/5\\\/2026\\\/05\\\/Couchbases-Data-API-in-Practice-With-NodeRed.png\",\"contentUrl\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/5\\\/2026\\\/05\\\/Couchbases-Data-API-in-Practice-With-NodeRed.png\",\"width\":2400,\"height\":1256},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/couchbases-data-api-in-practice-with-nodered\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Couchbase&#8217;s Data API in Practice With NodeRed\"}]},{\"@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\":\"ko-KR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/5\\\/2026\\\/06\\\/logo.svg\",\"contentUrl\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/5\\\/2026\\\/06\\\/logo.svg\",\"width\":\"1024\",\"height\":\"1024\",\"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\":\"ko-KR\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/b8c466908092b46634af916b6921f30187a051e4367ded7ac9b1a3f2c5692fd2?s=96&d=mm&r=g12929ce99397769f362b7a90d6b85071\",\"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\\\/ko\\\/author\\\/laurent-doguin\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Couchbase's Data API in Practice With NodeRed - 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\/ko\/couchbases-data-api-in-practice-with-nodered\/","og_locale":"ko_KR","og_type":"article","og_title":"Couchbase's Data API in Practice With NodeRed","og_description":"Couchbase Capella has a new Data API. If you\u2019re wondering why it is important since we already have SDKs, the answer is addressed in our documentation \u2013 but here\u2019s a quick comparison: Some use cases: All of these use cases can be implemented but would require either the deployment and management of your own Couchbase [&hellip;]","og_url":"https:\/\/www.couchbase.com\/blog\/ko\/couchbases-data-api-in-practice-with-nodered\/","og_site_name":"The Couchbase Blog","article_published_time":"2026-02-25T21:15:25+00:00","og_image":[{"width":2400,"height":1256,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/5\/2026\/05\/Couchbases-Data-API-in-Practice-With-NodeRed.png","type":"image\/png"}],"author":"Laurent Doguin","twitter_card":"summary_large_image","twitter_creator":"@ldoguin","twitter_misc":{"Written by":"Laurent Doguin","Est. reading time":"4\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/couchbases-data-api-in-practice-with-nodered\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbases-data-api-in-practice-with-nodered\/"},"author":{"name":"Laurent Doguin","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/c0aa9b8f1ed51b7a9e2f7cb755994a5e"},"headline":"Couchbase&#8217;s Data API in Practice With NodeRed","datePublished":"2026-02-25T21:15:25+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbases-data-api-in-practice-with-nodered\/"},"wordCount":1249,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbases-data-api-in-practice-with-nodered\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/5\/2026\/05\/Couchbases-Data-API-in-Practice-With-NodeRed.png","articleSection":["Couchbase Server","Tools &amp; SDKs"],"inLanguage":"ko-KR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/couchbases-data-api-in-practice-with-nodered\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/couchbases-data-api-in-practice-with-nodered\/","url":"https:\/\/www.couchbase.com\/blog\/couchbases-data-api-in-practice-with-nodered\/","name":"Couchbase's Data API in Practice With NodeRed - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbases-data-api-in-practice-with-nodered\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbases-data-api-in-practice-with-nodered\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/5\/2026\/05\/Couchbases-Data-API-in-Practice-With-NodeRed.png","datePublished":"2026-02-25T21:15:25+00:00","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbases-data-api-in-practice-with-nodered\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/couchbases-data-api-in-practice-with-nodered\/"]}]},{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.couchbase.com\/blog\/couchbases-data-api-in-practice-with-nodered\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/5\/2026\/05\/Couchbases-Data-API-in-Practice-With-NodeRed.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/5\/2026\/05\/Couchbases-Data-API-in-Practice-With-NodeRed.png","width":2400,"height":1256},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/couchbases-data-api-in-practice-with-nodered\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Couchbase&#8217;s Data API in Practice With NodeRed"}]},{"@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":"ko-KR"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"The Couchbase Blog","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/5\/2026\/06\/logo.svg","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/5\/2026\/06\/logo.svg","width":"1024","height":"1024","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":"ko-KR","@id":"https:\/\/secure.gravatar.com\/avatar\/b8c466908092b46634af916b6921f30187a051e4367ded7ac9b1a3f2c5692fd2?s=96&d=mm&r=g12929ce99397769f362b7a90d6b85071","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\/ko\/author\/laurent-doguin\/"}]}},"acf":[],"authors":[{"term_id":110,"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","0":null,"1":"","2":"","3":"","4":"","5":"","6":"","7":"","8":""}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/posts\/5140","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/users\/49"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/comments?post=5140"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/posts\/5140\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/media\/5139"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/media?parent=5140"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/categories?post=5140"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/tags?post=5140"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/ppma_author?post=5140"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}