CINXE.COM

express Archives - The Couchbase Blog

<!DOCTYPE html> <html lang="en-US"> <head><meta charset="UTF-8"><script>if(navigator.userAgent.match(/MSIE|Internet Explorer/i)||navigator.userAgent.match(/Trident\/7\..*?rv:11/i)){var href=document.location.href;if(!href.match(/[?&]nowprocket/)){if(href.indexOf("?")==-1){if(href.indexOf("#")==-1){document.location.href=href+"?nowprocket=1"}else{document.location.href=href.replace("#","?nowprocket=1#")}}else{if(href.indexOf("#")==-1){document.location.href=href+"&nowprocket=1"}else{document.location.href=href.replace("#","&nowprocket=1#")}}}}</script><script>(()=>{class RocketLazyLoadScripts{constructor(){this.v="1.2.6",this.triggerEvents=["keydown","mousedown","mousemove","touchmove","touchstart","touchend","wheel"],this.userEventHandler=this.t.bind(this),this.touchStartHandler=this.i.bind(this),this.touchMoveHandler=this.o.bind(this),this.touchEndHandler=this.h.bind(this),this.clickHandler=this.u.bind(this),this.interceptedClicks=[],this.interceptedClickListeners=[],this.l(this),window.addEventListener("pageshow",(t=>{this.persisted=t.persisted,this.everythingLoaded&&this.m()})),this.CSPIssue=sessionStorage.getItem("rocketCSPIssue"),document.addEventListener("securitypolicyviolation",(t=>{this.CSPIssue||"script-src-elem"!==t.violatedDirective||"data"!==t.blockedURI||(this.CSPIssue=!0,sessionStorage.setItem("rocketCSPIssue",!0))})),document.addEventListener("DOMContentLoaded",(()=>{this.k()})),this.delayedScripts={normal:[],async:[],defer:[]},this.trash=[],this.allJQueries=[]}p(t){document.hidden?t.t():(this.triggerEvents.forEach((e=>window.addEventListener(e,t.userEventHandler,{passive:!0}))),window.addEventListener("touchstart",t.touchStartHandler,{passive:!0}),window.addEventListener("mousedown",t.touchStartHandler),document.addEventListener("visibilitychange",t.userEventHandler))}_(){this.triggerEvents.forEach((t=>window.removeEventListener(t,this.userEventHandler,{passive:!0}))),document.removeEventListener("visibilitychange",this.userEventHandler)}i(t){"HTML"!==t.target.tagName&&(window.addEventListener("touchend",this.touchEndHandler),window.addEventListener("mouseup",this.touchEndHandler),window.addEventListener("touchmove",this.touchMoveHandler,{passive:!0}),window.addEventListener("mousemove",this.touchMoveHandler),t.target.addEventListener("click",this.clickHandler),this.L(t.target,!0),this.S(t.target,"onclick","rocket-onclick"),this.C())}o(t){window.removeEventListener("touchend",this.touchEndHandler),window.removeEventListener("mouseup",this.touchEndHandler),window.removeEventListener("touchmove",this.touchMoveHandler,{passive:!0}),window.removeEventListener("mousemove",this.touchMoveHandler),t.target.removeEventListener("click",this.clickHandler),this.L(t.target,!1),this.S(t.target,"rocket-onclick","onclick"),this.M()}h(){window.removeEventListener("touchend",this.touchEndHandler),window.removeEventListener("mouseup",this.touchEndHandler),window.removeEventListener("touchmove",this.touchMoveHandler,{passive:!0}),window.removeEventListener("mousemove",this.touchMoveHandler)}u(t){t.target.removeEventListener("click",this.clickHandler),this.L(t.target,!1),this.S(t.target,"rocket-onclick","onclick"),this.interceptedClicks.push(t),t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation(),this.M()}O(){window.removeEventListener("touchstart",this.touchStartHandler,{passive:!0}),window.removeEventListener("mousedown",this.touchStartHandler),this.interceptedClicks.forEach((t=>{t.target.dispatchEvent(new MouseEvent("click",{view:t.view,bubbles:!0,cancelable:!0}))}))}l(t){EventTarget.prototype.addEventListenerWPRocketBase=EventTarget.prototype.addEventListener,EventTarget.prototype.addEventListener=function(e,i,o){"click"!==e||t.windowLoaded||i===t.clickHandler||t.interceptedClickListeners.push({target:this,func:i,options:o}),(this||window).addEventListenerWPRocketBase(e,i,o)}}L(t,e){this.interceptedClickListeners.forEach((i=>{i.target===t&&(e?t.removeEventListener("click",i.func,i.options):t.addEventListener("click",i.func,i.options))})),t.parentNode!==document.documentElement&&this.L(t.parentNode,e)}D(){return new Promise((t=>{this.P?this.M=t:t()}))}C(){this.P=!0}M(){this.P=!1}S(t,e,i){t.hasAttribute&&t.hasAttribute(e)&&(event.target.setAttribute(i,event.target.getAttribute(e)),event.target.removeAttribute(e))}t(){this._(this),"loading"===document.readyState?document.addEventListener("DOMContentLoaded",this.R.bind(this)):this.R()}k(){let t=[];document.querySelectorAll("script[type=rocketlazyloadscript][data-rocket-src]").forEach((e=>{let i=e.getAttribute("data-rocket-src");if(i&&!i.startsWith("data:")){0===i.indexOf("//")&&(i=location.protocol+i);try{const o=new URL(i).origin;o!==location.origin&&t.push({src:o,crossOrigin:e.crossOrigin||"module"===e.getAttribute("data-rocket-type")})}catch(t){}}})),t=[...new Map(t.map((t=>[JSON.stringify(t),t]))).values()],this.T(t,"preconnect")}async R(){this.lastBreath=Date.now(),this.j(this),this.F(this),this.I(),this.W(),this.q(),await this.A(this.delayedScripts.normal),await this.A(this.delayedScripts.defer),await this.A(this.delayedScripts.async);try{await this.U(),await this.H(this),await this.J()}catch(t){console.error(t)}window.dispatchEvent(new Event("rocket-allScriptsLoaded")),this.everythingLoaded=!0,this.D().then((()=>{this.O()})),this.N()}W(){document.querySelectorAll("script[type=rocketlazyloadscript]").forEach((t=>{t.hasAttribute("data-rocket-src")?t.hasAttribute("async")&&!1!==t.async?this.delayedScripts.async.push(t):t.hasAttribute("defer")&&!1!==t.defer||"module"===t.getAttribute("data-rocket-type")?this.delayedScripts.defer.push(t):this.delayedScripts.normal.push(t):this.delayedScripts.normal.push(t)}))}async B(t){if(await this.G(),!0!==t.noModule||!("noModule"in HTMLScriptElement.prototype))return new Promise((e=>{let i;function o(){(i||t).setAttribute("data-rocket-status","executed"),e()}try{if(navigator.userAgent.indexOf("Firefox/")>0||""===navigator.vendor||this.CSPIssue)i=document.createElement("script"),[...t.attributes].forEach((t=>{let e=t.nodeName;"type"!==e&&("data-rocket-type"===e&&(e="type"),"data-rocket-src"===e&&(e="src"),i.setAttribute(e,t.nodeValue))})),t.text&&(i.text=t.text),i.hasAttribute("src")?(i.addEventListener("load",o),i.addEventListener("error",(function(){i.setAttribute("data-rocket-status","failed-network"),e()})),setTimeout((()=>{i.isConnected||e()}),1)):(i.text=t.text,o()),t.parentNode.replaceChild(i,t);else{const i=t.getAttribute("data-rocket-type"),s=t.getAttribute("data-rocket-src");i?(t.type=i,t.removeAttribute("data-rocket-type")):t.removeAttribute("type"),t.addEventListener("load",o),t.addEventListener("error",(i=>{this.CSPIssue&&i.target.src.startsWith("data:")?(console.log("WPRocket: data-uri blocked by CSP -> fallback"),t.removeAttribute("src"),this.B(t).then(e)):(t.setAttribute("data-rocket-status","failed-network"),e())})),s?(t.removeAttribute("data-rocket-src"),t.src=s):t.src="data:text/javascript;base64,"+window.btoa(unescape(encodeURIComponent(t.text)))}}catch(i){t.setAttribute("data-rocket-status","failed-transform"),e()}}));t.setAttribute("data-rocket-status","skipped")}async A(t){const e=t.shift();return e&&e.isConnected?(await this.B(e),this.A(t)):Promise.resolve()}q(){this.T([...this.delayedScripts.normal,...this.delayedScripts.defer,...this.delayedScripts.async],"preload")}T(t,e){var i=document.createDocumentFragment();t.forEach((t=>{const o=t.getAttribute&&t.getAttribute("data-rocket-src")||t.src;if(o&&!o.startsWith("data:")){const s=document.createElement("link");s.href=o,s.rel=e,"preconnect"!==e&&(s.as="script"),t.getAttribute&&"module"===t.getAttribute("data-rocket-type")&&(s.crossOrigin=!0),t.crossOrigin&&(s.crossOrigin=t.crossOrigin),t.integrity&&(s.integrity=t.integrity),i.appendChild(s),this.trash.push(s)}})),document.head.appendChild(i)}j(t){let e={};function i(i,o){return e[o].eventsToRewrite.indexOf(i)>=0&&!t.everythingLoaded?"rocket-"+i:i}function o(t,o){!function(t){e[t]||(e[t]={originalFunctions:{add:t.addEventListener,remove:t.removeEventListener},eventsToRewrite:[]},t.addEventListener=function(){arguments[0]=i(arguments[0],t),e[t].originalFunctions.add.apply(t,arguments)},t.removeEventListener=function(){arguments[0]=i(arguments[0],t),e[t].originalFunctions.remove.apply(t,arguments)})}(t),e[t].eventsToRewrite.push(o)}function s(e,i){let o=e[i];e[i]=null,Object.defineProperty(e,i,{get:()=>o||function(){},set(s){t.everythingLoaded?o=s:e["rocket"+i]=o=s}})}o(document,"DOMContentLoaded"),o(window,"DOMContentLoaded"),o(window,"load"),o(window,"pageshow"),o(document,"readystatechange"),s(document,"onreadystatechange"),s(window,"onload"),s(window,"onpageshow");try{Object.defineProperty(document,"readyState",{get:()=>t.rocketReadyState,set(e){t.rocketReadyState=e},configurable:!0}),document.readyState="loading"}catch(t){console.log("WPRocket DJE readyState conflict, bypassing")}}F(t){let e;function i(e){return t.everythingLoaded?e:e.split(" ").map((t=>"load"===t||0===t.indexOf("load.")?"rocket-jquery-load":t)).join(" ")}function o(o){function s(t){const e=o.fn[t];o.fn[t]=o.fn.init.prototype[t]=function(){return this[0]===window&&("string"==typeof arguments[0]||arguments[0]instanceof String?arguments[0]=i(arguments[0]):"object"==typeof arguments[0]&&Object.keys(arguments[0]).forEach((t=>{const e=arguments[0][t];delete arguments[0][t],arguments[0][i(t)]=e}))),e.apply(this,arguments),this}}o&&o.fn&&!t.allJQueries.includes(o)&&(o.fn.ready=o.fn.init.prototype.ready=function(e){return t.domReadyFired?e.bind(document)(o):document.addEventListener("rocket-DOMContentLoaded",(()=>e.bind(document)(o))),o([])},s("on"),s("one"),t.allJQueries.push(o)),e=o}o(window.jQuery),Object.defineProperty(window,"jQuery",{get:()=>e,set(t){o(t)}})}async H(t){const e=document.querySelector("script[data-webpack]");e&&(await async function(){return new Promise((t=>{e.addEventListener("load",t),e.addEventListener("error",t)}))}(),await t.K(),await t.H(t))}async U(){this.domReadyFired=!0;try{document.readyState="interactive"}catch(t){}await this.G(),document.dispatchEvent(new Event("rocket-readystatechange")),await this.G(),document.rocketonreadystatechange&&document.rocketonreadystatechange(),await this.G(),document.dispatchEvent(new Event("rocket-DOMContentLoaded")),await this.G(),window.dispatchEvent(new Event("rocket-DOMContentLoaded"))}async J(){try{document.readyState="complete"}catch(t){}await this.G(),document.dispatchEvent(new Event("rocket-readystatechange")),await this.G(),document.rocketonreadystatechange&&document.rocketonreadystatechange(),await this.G(),window.dispatchEvent(new Event("rocket-load")),await this.G(),window.rocketonload&&window.rocketonload(),await this.G(),this.allJQueries.forEach((t=>t(window).trigger("rocket-jquery-load"))),await this.G();const t=new Event("rocket-pageshow");t.persisted=this.persisted,window.dispatchEvent(t),await this.G(),window.rocketonpageshow&&window.rocketonpageshow({persisted:this.persisted}),this.windowLoaded=!0}m(){document.onreadystatechange&&document.onreadystatechange(),window.onload&&window.onload(),window.onpageshow&&window.onpageshow({persisted:this.persisted})}I(){const t=new Map;document.write=document.writeln=function(e){const i=document.currentScript;i||console.error("WPRocket unable to document.write this: "+e);const o=document.createRange(),s=i.parentElement;let n=t.get(i);void 0===n&&(n=i.nextSibling,t.set(i,n));const c=document.createDocumentFragment();o.setStart(c,0),c.appendChild(o.createContextualFragment(e)),s.insertBefore(c,n)}}async G(){Date.now()-this.lastBreath>45&&(await this.K(),this.lastBreath=Date.now())}async K(){return document.hidden?new Promise((t=>setTimeout(t))):new Promise((t=>requestAnimationFrame(t)))}N(){this.trash.forEach((t=>t.remove()))}static run(){const t=new RocketLazyLoadScripts;t.p(t)}}RocketLazyLoadScripts.run()})();</script> <!-- <meta name="viewport" content="width=device-width, initial-scale=1"> --> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"> <meta name="insight-app-sec-validation" content="8c2f44ef-0f60-427d-a3ac-7297063db717"> <link rel="profile" href="https://gmpg.org/xfn/11"> <link rel="pingback" href="https://www.couchbase.com/blog/xmlrpc.php"> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <noscript> </noscript> <link rel="stylesheet" href="https://www.couchbase.com/blog/wp-content/themes/couchbase/css/libraries/satellite-min.css" /> <link data-minify="1" rel="stylesheet" href="https://www.couchbase.com/blog/wp-content/cache/min/1/blog/wp-content/themes/couchbase/css/libraries/autocomplete-theme-classic.css?ver=1732535971" /> <style type="text/css"></style> <script type="rocketlazyloadscript" data-rocket-type="text/javascript">var heateorSlDefaultLang = 'en_US', heateorSlCloseIconPath = 'https://www.couchbase.com/blog/wp-content/plugins/heateor-social-login/public/images/close.png'; var heateorSlSiteUrl = 'https://www.couchbase.com/blog', heateorSlVerified = 0, heateorSlEmailPopup = 0; </script> <script type="rocketlazyloadscript"> var heateorSlLoadingImgPath = 'https://www.couchbase.com/blog/wp-content/plugins/heateor-social-login/public/../images/ajax_loader.gif'; var heateorSlAjaxUrl = 'https://www.couchbase.com/blog/wp-admin/admin-ajax.php'; var heateorSlRedirectionUrl = 'https://www.couchbase.com/blog/tag/express/'; var heateorSlRegRedirectionUrl = 'https://www.couchbase.com/blog/tag/express/'; </script> <script type="rocketlazyloadscript"> var heateorSlFBKey = '1326406188301490', heateorSlSameTabLogin = '1', heateorSlVerified = 0; var heateorSlAjaxUrl = 'https://www.couchbase.com/blog/wp-admin/admin-ajax.php'; var heateorSlPopupTitle = ''; var heateorSlEmailPopup = 0; var heateorSlEmailAjaxUrl = 'https://www.couchbase.com/blog/wp-admin/admin-ajax.php'; var heateorSlEmailPopupTitle = ''; var heateorSlEmailPopupErrorMsg = ''; var heateorSlEmailPopupUniqueId = ''; var heateorSlEmailPopupVerifyMessage = ''; var heateorSlSteamAuthUrl = ""; var heateorSlCurrentPageUrl = 'https%3A%2F%2Fwww.couchbase.com%2Fblog%2Ftag%2Fexpress%2F'; var heateorMSEnabled = 0; var heateorSlTwitterAuthUrl = heateorSlSiteUrl + "?HeateorSlAuth=X&heateor_sl_redirect_to=" + heateorSlCurrentPageUrl; var heateorSlFacebookAuthUrl = heateorSlSiteUrl + "?HeateorSlAuth=Facebook&heateor_sl_redirect_to=" + heateorSlCurrentPageUrl; var heateorSlGoogleAuthUrl = heateorSlSiteUrl + "?HeateorSlAuth=Google&heateor_sl_redirect_to=" + heateorSlCurrentPageUrl; var heateorSlYoutubeAuthUrl = heateorSlSiteUrl + "?HeateorSlAuth=Youtube&heateor_sl_redirect_to=" + heateorSlCurrentPageUrl; var heateorSlLineAuthUrl = heateorSlSiteUrl + "?HeateorSlAuth=Line&heateor_sl_redirect_to=" + heateorSlCurrentPageUrl; var heateorSlLiveAuthUrl = heateorSlSiteUrl + "?HeateorSlAuth=Live&heateor_sl_redirect_to=" + heateorSlCurrentPageUrl; var heateorSlVkontakteAuthUrl = heateorSlSiteUrl + "?HeateorSlAuth=Vkontakte&heateor_sl_redirect_to=" + heateorSlCurrentPageUrl; var heateorSlLinkedinAuthUrl = heateorSlSiteUrl + "?HeateorSlAuth=Linkedin&heateor_sl_redirect_to=" + heateorSlCurrentPageUrl; var heateorSlSpotifyAuthUrl = heateorSlSiteUrl + "?HeateorSlAuth=Spotify&heateor_sl_redirect_to=" + heateorSlCurrentPageUrl; var heateorSlKakaoAuthUrl = heateorSlSiteUrl + "?HeateorSlAuth=Kakao&heateor_sl_redirect_to=" + heateorSlCurrentPageUrl; var heateorSlGithubAuthUrl = heateorSlSiteUrl + "?HeateorSlAuth=Github&heateor_sl_redirect_to=" + heateorSlCurrentPageUrl; var heateorSlWordpressAuthUrl = heateorSlSiteUrl + "?HeateorSlAuth=Wordpress&heateor_sl_redirect_to=" + heateorSlCurrentPageUrl; var heateorSlYahooAuthUrl = heateorSlSiteUrl + "?HeateorSlAuth=Yahoo&heateor_sl_redirect_to=" + heateorSlCurrentPageUrl; var heateorSlInstagramAuthUrl = heateorSlSiteUrl + "?HeateorSlAuth=Instagram&heateor_sl_redirect_to=" + heateorSlCurrentPageUrl; var heateorSlDribbbleAuthUrl = heateorSlSiteUrl + "?HeateorSlAuth=Dribbble&heateor_sl_redirect_to=" + heateorSlCurrentPageUrl; var heateorSlTwitchAuthUrl = heateorSlSiteUrl + "?HeateorSlAuth=Twitch&heateor_sl_redirect_to=" + heateorSlCurrentPageUrl; var heateorSlRedditAuthUrl = heateorSlSiteUrl + "?HeateorSlAuth=Reddit&heateor_sl_redirect_to=" + heateorSlCurrentPageUrl; var heateorSlDisqusAuthUrl = heateorSlSiteUrl + "?HeateorSlAuth=Disqus&heateor_sl_redirect_to=" + heateorSlCurrentPageUrl; var heateorSlFoursquareAuthUrl = heateorSlSiteUrl + "?HeateorSlAuth=Foursquare&heateor_sl_redirect_to=" + heateorSlCurrentPageUrl; var heateorSlDropboxAuthUrl = heateorSlSiteUrl + "?HeateorSlAuth=Dropbox&heateor_sl_redirect_to=" + heateorSlCurrentPageUrl; var heateorSlAmazonAuthUrl = heateorSlSiteUrl + "?HeateorSlAuth=Amazon&heateor_sl_redirect_to=" + heateorSlCurrentPageUrl; var heateorSlStackoverflowAuthUrl = heateorSlSiteUrl + "?HeateorSlAuth=Stackoverflow&heateor_sl_redirect_to=" + heateorSlCurrentPageUrl; var heateorSlDiscordAuthUrl = heateorSlSiteUrl + "?HeateorSlAuth=Discord&heateor_sl_redirect_to=" + heateorSlCurrentPageUrl; var heateorSlMailruAuthUrl = heateorSlSiteUrl + "?HeateorSlAuth=Mailru&heateor_sl_redirect_to=" + heateorSlCurrentPageUrl; var heateorSlYandexAuthUrl = heateorSlSiteUrl + "?HeateorSlAuth=Yandex&heateor_sl_redirect_to=" + heateorSlCurrentPageUrl ;var heateorSlOdnoklassnikiAuthUrl = heateorSlSiteUrl + "?HeateorSlAuth=Odnoklassniki&heateor_sl_redirect_to=" + heateorSlCurrentPageUrl;</script> <script type="rocketlazyloadscript" data-rocket-type="text/javascript">function heateorSlLoadEvent(e ) {var t=window.onload;if ( typeof window.onload!="function" ) {window.onload=e} else {window.onload=function() {t();e()}}}</script> <meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' /> <!-- Google Tag Manager for WordPress by gtm4wp.com --> <script data-cfasync="false" data-pagespeed-no-defer> var gtm4wp_datalayer_name = "dataLayer"; var dataLayer = dataLayer || []; </script> <!-- End Google Tag Manager for WordPress by gtm4wp.com --><script type="text/javascript" id="wpp-js" src="https://www.couchbase.com/blog/wp-content/plugins/wordpress-popular-posts/assets/js/wpp.min.js?ver=7.1.0" data-sampling="0" data-sampling-rate="100" data-api-url="https://www.couchbase.com/blog/wp-json/wordpress-popular-posts" data-post-id="0" data-token="1a03b6a8ca" data-lang="0" data-debug="0"></script> <!-- This site is optimized with the Yoast SEO Premium plugin v23.4 (Yoast SEO v23.9) - https://yoast.com/wordpress/plugins/seo/ --> <title>express Archives - The Couchbase Blog</title><link rel="preload" data-rocket-preload as="style" href="https://fonts.googleapis.com/css?family=Abril%20FatFace%3A400%2C400i%2C700%2C700i%7CAlegreya%3A400%2C400i%2C700%2C700i%7CAlegreya%20Sans%3A400%2C400i%2C700%2C700i%7CAmatic%20SC%3A400%2C400i%2C700%2C700i%7CAnonymous%20Pro%3A400%2C400i%2C700%2C700i%7CArchitects%20Daughter%3A400%2C400i%2C700%2C700i%7CArchivo%3A400%2C400i%2C700%2C700i%7CArchivo%20Narrow%3A400%2C400i%2C700%2C700i%7CAsap%3A400%2C400i%2C700%2C700i%7CBarlow%3A400%2C400i%2C700%2C700i%7CBioRhyme%3A400%2C400i%2C700%2C700i%7CBonbon%3A400%2C400i%2C700%2C700i%7CCabin%3A400%2C400i%2C700%2C700i%7CCairo%3A400%2C400i%2C700%2C700i%7CCardo%3A400%2C400i%2C700%2C700i%7CChivo%3A400%2C400i%2C700%2C700i%7CConcert%20One%3A400%2C400i%2C700%2C700i%7CCormorant%3A400%2C400i%2C700%2C700i%7CCrimson%20Text%3A400%2C400i%2C700%2C700i%7CEczar%3A400%2C400i%2C700%2C700i%7CExo%202%3A400%2C400i%2C700%2C700i%7CFira%20Sans%3A400%2C400i%2C700%2C700i%7CFjalla%20One%3A400%2C400i%2C700%2C700i%7CFrank%20Ruhl%20Libre%3A400%2C400i%2C700%2C700i%7CGreat%20Vibes%3A400%2C400i%2C700%2C700i%7CHeebo%3A400%2C400i%2C700%2C700i%7CIBM%20Plex%3A400%2C400i%2C700%2C700i%7CInconsolata%3A400%2C400i%2C700%2C700i%7CIndie%20Flower%3A400%2C400i%2C700%2C700i%7CInknut%20Antiqua%3A400%2C400i%2C700%2C700i%7CInter%3A400%2C400i%2C700%2C700i%7CKarla%3A400%2C400i%2C700%2C700i%7CLibre%20Baskerville%3A400%2C400i%2C700%2C700i%7CLibre%20Franklin%3A400%2C400i%2C700%2C700i%7CMontserrat%3A400%2C400i%2C700%2C700i%7CNeuton%3A400%2C400i%2C700%2C700i%7CNotable%3A400%2C400i%2C700%2C700i%7CNothing%20You%20Could%20Do%3A400%2C400i%2C700%2C700i%7CNoto%20Sans%3A400%2C400i%2C700%2C700i%7CNunito%3A400%2C400i%2C700%2C700i%7COld%20Standard%20TT%3A400%2C400i%2C700%2C700i%7COxygen%3A400%2C400i%2C700%2C700i%7CPacifico%3A400%2C400i%2C700%2C700i%7CPoppins%3A400%2C400i%2C700%2C700i%7CProza%20Libre%3A400%2C400i%2C700%2C700i%7CPT%20Sans%3A400%2C400i%2C700%2C700i%7CPT%20Serif%3A400%2C400i%2C700%2C700i%7CRakkas%3A400%2C400i%2C700%2C700i%7CReenie%20Beanie%3A400%2C400i%2C700%2C700i%7CRoboto%20Slab%3A400%2C400i%2C700%2C700i%7CRopa%20Sans%3A400%2C400i%2C700%2C700i%7CRubik%3A400%2C400i%2C700%2C700i%7CShadows%20Into%20Light%3A400%2C400i%2C700%2C700i%7CSpace%20Mono%3A400%2C400i%2C700%2C700i%7CSpectral%3A400%2C400i%2C700%2C700i%7CSue%20Ellen%20Francisco%3A400%2C400i%2C700%2C700i%7CTitillium%20Web%3A400%2C400i%2C700%2C700i%7CUbuntu%3A400%2C400i%2C700%2C700i%7CVarela%3A400%2C400i%2C700%2C700i%7CVollkorn%3A400%2C400i%2C700%2C700i%7CWork%20Sans%3A400%2C400i%2C700%2C700i%7CYatra%20One%3A400%2C400i%2C700%2C700i&#038;display=swap" /><link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Abril%20FatFace%3A400%2C400i%2C700%2C700i%7CAlegreya%3A400%2C400i%2C700%2C700i%7CAlegreya%20Sans%3A400%2C400i%2C700%2C700i%7CAmatic%20SC%3A400%2C400i%2C700%2C700i%7CAnonymous%20Pro%3A400%2C400i%2C700%2C700i%7CArchitects%20Daughter%3A400%2C400i%2C700%2C700i%7CArchivo%3A400%2C400i%2C700%2C700i%7CArchivo%20Narrow%3A400%2C400i%2C700%2C700i%7CAsap%3A400%2C400i%2C700%2C700i%7CBarlow%3A400%2C400i%2C700%2C700i%7CBioRhyme%3A400%2C400i%2C700%2C700i%7CBonbon%3A400%2C400i%2C700%2C700i%7CCabin%3A400%2C400i%2C700%2C700i%7CCairo%3A400%2C400i%2C700%2C700i%7CCardo%3A400%2C400i%2C700%2C700i%7CChivo%3A400%2C400i%2C700%2C700i%7CConcert%20One%3A400%2C400i%2C700%2C700i%7CCormorant%3A400%2C400i%2C700%2C700i%7CCrimson%20Text%3A400%2C400i%2C700%2C700i%7CEczar%3A400%2C400i%2C700%2C700i%7CExo%202%3A400%2C400i%2C700%2C700i%7CFira%20Sans%3A400%2C400i%2C700%2C700i%7CFjalla%20One%3A400%2C400i%2C700%2C700i%7CFrank%20Ruhl%20Libre%3A400%2C400i%2C700%2C700i%7CGreat%20Vibes%3A400%2C400i%2C700%2C700i%7CHeebo%3A400%2C400i%2C700%2C700i%7CIBM%20Plex%3A400%2C400i%2C700%2C700i%7CInconsolata%3A400%2C400i%2C700%2C700i%7CIndie%20Flower%3A400%2C400i%2C700%2C700i%7CInknut%20Antiqua%3A400%2C400i%2C700%2C700i%7CInter%3A400%2C400i%2C700%2C700i%7CKarla%3A400%2C400i%2C700%2C700i%7CLibre%20Baskerville%3A400%2C400i%2C700%2C700i%7CLibre%20Franklin%3A400%2C400i%2C700%2C700i%7CMontserrat%3A400%2C400i%2C700%2C700i%7CNeuton%3A400%2C400i%2C700%2C700i%7CNotable%3A400%2C400i%2C700%2C700i%7CNothing%20You%20Could%20Do%3A400%2C400i%2C700%2C700i%7CNoto%20Sans%3A400%2C400i%2C700%2C700i%7CNunito%3A400%2C400i%2C700%2C700i%7COld%20Standard%20TT%3A400%2C400i%2C700%2C700i%7COxygen%3A400%2C400i%2C700%2C700i%7CPacifico%3A400%2C400i%2C700%2C700i%7CPoppins%3A400%2C400i%2C700%2C700i%7CProza%20Libre%3A400%2C400i%2C700%2C700i%7CPT%20Sans%3A400%2C400i%2C700%2C700i%7CPT%20Serif%3A400%2C400i%2C700%2C700i%7CRakkas%3A400%2C400i%2C700%2C700i%7CReenie%20Beanie%3A400%2C400i%2C700%2C700i%7CRoboto%20Slab%3A400%2C400i%2C700%2C700i%7CRopa%20Sans%3A400%2C400i%2C700%2C700i%7CRubik%3A400%2C400i%2C700%2C700i%7CShadows%20Into%20Light%3A400%2C400i%2C700%2C700i%7CSpace%20Mono%3A400%2C400i%2C700%2C700i%7CSpectral%3A400%2C400i%2C700%2C700i%7CSue%20Ellen%20Francisco%3A400%2C400i%2C700%2C700i%7CTitillium%20Web%3A400%2C400i%2C700%2C700i%7CUbuntu%3A400%2C400i%2C700%2C700i%7CVarela%3A400%2C400i%2C700%2C700i%7CVollkorn%3A400%2C400i%2C700%2C700i%7CWork%20Sans%3A400%2C400i%2C700%2C700i%7CYatra%20One%3A400%2C400i%2C700%2C700i&#038;display=swap" media="print" onload="this.media='all'" /><noscript><link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Abril%20FatFace%3A400%2C400i%2C700%2C700i%7CAlegreya%3A400%2C400i%2C700%2C700i%7CAlegreya%20Sans%3A400%2C400i%2C700%2C700i%7CAmatic%20SC%3A400%2C400i%2C700%2C700i%7CAnonymous%20Pro%3A400%2C400i%2C700%2C700i%7CArchitects%20Daughter%3A400%2C400i%2C700%2C700i%7CArchivo%3A400%2C400i%2C700%2C700i%7CArchivo%20Narrow%3A400%2C400i%2C700%2C700i%7CAsap%3A400%2C400i%2C700%2C700i%7CBarlow%3A400%2C400i%2C700%2C700i%7CBioRhyme%3A400%2C400i%2C700%2C700i%7CBonbon%3A400%2C400i%2C700%2C700i%7CCabin%3A400%2C400i%2C700%2C700i%7CCairo%3A400%2C400i%2C700%2C700i%7CCardo%3A400%2C400i%2C700%2C700i%7CChivo%3A400%2C400i%2C700%2C700i%7CConcert%20One%3A400%2C400i%2C700%2C700i%7CCormorant%3A400%2C400i%2C700%2C700i%7CCrimson%20Text%3A400%2C400i%2C700%2C700i%7CEczar%3A400%2C400i%2C700%2C700i%7CExo%202%3A400%2C400i%2C700%2C700i%7CFira%20Sans%3A400%2C400i%2C700%2C700i%7CFjalla%20One%3A400%2C400i%2C700%2C700i%7CFrank%20Ruhl%20Libre%3A400%2C400i%2C700%2C700i%7CGreat%20Vibes%3A400%2C400i%2C700%2C700i%7CHeebo%3A400%2C400i%2C700%2C700i%7CIBM%20Plex%3A400%2C400i%2C700%2C700i%7CInconsolata%3A400%2C400i%2C700%2C700i%7CIndie%20Flower%3A400%2C400i%2C700%2C700i%7CInknut%20Antiqua%3A400%2C400i%2C700%2C700i%7CInter%3A400%2C400i%2C700%2C700i%7CKarla%3A400%2C400i%2C700%2C700i%7CLibre%20Baskerville%3A400%2C400i%2C700%2C700i%7CLibre%20Franklin%3A400%2C400i%2C700%2C700i%7CMontserrat%3A400%2C400i%2C700%2C700i%7CNeuton%3A400%2C400i%2C700%2C700i%7CNotable%3A400%2C400i%2C700%2C700i%7CNothing%20You%20Could%20Do%3A400%2C400i%2C700%2C700i%7CNoto%20Sans%3A400%2C400i%2C700%2C700i%7CNunito%3A400%2C400i%2C700%2C700i%7COld%20Standard%20TT%3A400%2C400i%2C700%2C700i%7COxygen%3A400%2C400i%2C700%2C700i%7CPacifico%3A400%2C400i%2C700%2C700i%7CPoppins%3A400%2C400i%2C700%2C700i%7CProza%20Libre%3A400%2C400i%2C700%2C700i%7CPT%20Sans%3A400%2C400i%2C700%2C700i%7CPT%20Serif%3A400%2C400i%2C700%2C700i%7CRakkas%3A400%2C400i%2C700%2C700i%7CReenie%20Beanie%3A400%2C400i%2C700%2C700i%7CRoboto%20Slab%3A400%2C400i%2C700%2C700i%7CRopa%20Sans%3A400%2C400i%2C700%2C700i%7CRubik%3A400%2C400i%2C700%2C700i%7CShadows%20Into%20Light%3A400%2C400i%2C700%2C700i%7CSpace%20Mono%3A400%2C400i%2C700%2C700i%7CSpectral%3A400%2C400i%2C700%2C700i%7CSue%20Ellen%20Francisco%3A400%2C400i%2C700%2C700i%7CTitillium%20Web%3A400%2C400i%2C700%2C700i%7CUbuntu%3A400%2C400i%2C700%2C700i%7CVarela%3A400%2C400i%2C700%2C700i%7CVollkorn%3A400%2C400i%2C700%2C700i%7CWork%20Sans%3A400%2C400i%2C700%2C700i%7CYatra%20One%3A400%2C400i%2C700%2C700i&#038;display=swap" /></noscript><link rel="preload" data-rocket-preload as="style" href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700;800&#038;family=Roboto+Mono:wght@500&#038;display=swap" /><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700;800&#038;family=Roboto+Mono:wght@500&#038;display=swap" media="print" onload="this.media='all'" /><noscript><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700;800&#038;family=Roboto+Mono:wght@500&#038;display=swap" /></noscript> <link rel="preload" as="font" href="https://www.couchbase.com/wp-content/themes/couchbase/hco_fonts/woff2/Gotham-Bold_Web.woff2" crossorigin> <link rel="preload" as="font" href="https://www.couchbase.com/wp-content/themes/couchbase/hco_fonts/woff2/Gotham-Book_Web.woff2" crossorigin> <link rel="preload" as="font" href="https://www.couchbase.com/wp-content/themes/couchbase/hco_fonts/woff2/Gotham-Medium_Web.woff2" crossorigin> <link rel="canonical" href="https://www.couchbase.com/blog/tag/express/" /> <meta property="og:locale" content="en_US" /> <meta property="og:type" content="article" /> <meta property="og:title" content="express Archives" /> <meta property="og:url" content="https://www.couchbase.com/blog/tag/express/" /> <meta property="og:site_name" content="The Couchbase Blog" /> <meta name="twitter:card" content="summary_large_image" /> <script type="application/ld+json" class="yoast-schema-graph">{"@context":"https://schema.org","@graph":[{"@type":"CollectionPage","@id":"https://www.couchbase.com/blog/tag/express/","url":"https://www.couchbase.com/blog/tag/express/","name":"express Archives - The Couchbase Blog","isPartOf":{"@id":"https://www.couchbase.com/blog/#website"},"primaryImageOfPage":{"@id":"https://www.couchbase.com/blog/tag/express/#primaryimage"},"image":{"@id":"https://www.couchbase.com/blog/tag/express/#primaryimage"},"thumbnailUrl":"https://www.couchbase.com/blog/wp-content/uploads/sites/1/2023/08/image1.png","breadcrumb":{"@id":"https://www.couchbase.com/blog/tag/express/#breadcrumb"},"inLanguage":"en-US"},{"@type":"ImageObject","inLanguage":"en-US","@id":"https://www.couchbase.com/blog/tag/express/#primaryimage","url":"https://www.couchbase.com/blog/wp-content/uploads/sites/1/2023/08/image1.png","contentUrl":"https://www.couchbase.com/blog/wp-content/uploads/sites/1/2023/08/image1.png","width":1205,"height":729,"caption":"The mother of all demo apps: RealWorld"},{"@type":"BreadcrumbList","@id":"https://www.couchbase.com/blog/tag/express/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://www.couchbase.com/blog/"},{"@type":"ListItem","position":2,"name":"express"}]},{"@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/"}}]}</script> <!-- / Yoast SEO Premium plugin. --> <link href='https://fonts.gstatic.com' crossorigin rel='preconnect' /> <link rel="alternate" type="application/rss+xml" title="The Couchbase Blog &raquo; Feed" href="https://www.couchbase.com/blog/feed/" /> <link rel="alternate" type="application/rss+xml" title="The Couchbase Blog &raquo; Comments Feed" href="https://www.couchbase.com/blog/comments/feed/" /> <link rel="alternate" type="application/rss+xml" title="The Couchbase Blog &raquo; express Tag Feed" href="https://www.couchbase.com/blog/tag/express/feed/" /> <link rel='stylesheet' id='urvanov_syntax_highlighter-css' href='https://www.couchbase.com/blog/wp-content/plugins/urvanov-syntax-highlighter/css/min/urvanov_syntax_highlighter.min.css?ver=2.8.37' type='text/css' media='all' /> <link data-minify="1" rel='stylesheet' id='crayon-theme-classic-css' href='https://www.couchbase.com/blog/wp-content/cache/min/1/blog/wp-content/plugins/urvanov-syntax-highlighter/themes/classic/classic.css?ver=1732535971' type='text/css' media='all' /> <link data-minify="1" rel='stylesheet' id='crayon-font-monaco-css' href='https://www.couchbase.com/blog/wp-content/cache/min/1/blog/wp-content/plugins/urvanov-syntax-highlighter/fonts/monaco.css?ver=1732535971' type='text/css' media='all' /> <style id='wp-emoji-styles-inline-css' type='text/css'> img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 0.07em !important; vertical-align: -0.1em !important; background: none !important; padding: 0 !important; } </style> <style id='classic-theme-styles-inline-css' type='text/css'> /*! This file is auto-generated */ .wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none} </style> <style id='global-styles-inline-css' type='text/css'> :root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;} :where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;} :where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;} :root :where(.wp-block-pullquote){font-size: 1.5em;line-height: 1.6;} </style> <link data-minify="1" rel='stylesheet' id='dashicons-css' href='https://www.couchbase.com/blog/wp-content/cache/min/1/blog/wp-includes/css/dashicons.min.css?ver=1732535971' type='text/css' media='all' /> <link data-minify="1" rel='stylesheet' id='wordpress-popular-posts-css-css' href='https://www.couchbase.com/blog/wp-content/cache/min/1/blog/wp-content/plugins/wordpress-popular-posts/assets/css/wpp.css?ver=1732535971' type='text/css' media='all' /> <link data-minify="1" rel='stylesheet' id='paperback-style-css' href='https://www.couchbase.com/blog/wp-content/cache/min/1/blog/wp-content/themes/paperback/style.css?ver=1732535971' type='text/css' media='all' /> <style id='paperback-style-inline-css' type='text/css'> /* Top Nav Background Color */ .top-navigation, .secondary-navigation ul.sub-menu { background-color: #ffffff; } /* Top Nav Text Color */ .top-navigation, .top-navigation nav a, .top-navigation li ul li a, .drawer-toggle { color: #000000; } .main-navigation:not(.secondary-navigation) ul.menu > li.current-menu-item > a { border-color: #ec1e2c; } /* Header Background Color */ .site-identity { background-color: #ffffff; } /* Header Text Color */ .main-navigation a, .site-title a, .site-description { color: #000000; } /* Accent Color */ .hero-cats a, .post-navigation .nav-label, .entry-cats a { background-color: #ec1e2c; } .page-numbers.current, .page-numbers:hover, #page #infinite-handle button:hover { background-color: #ec1e2c; } /* Footer Background Color */ .site-footer { background-color: #f6f6f6; } /* Footer Text Color */ .site-footer .widget-title, .site-footer a:hover { color: #000000; } .site-footer, .site-footer a { color: rgba( 0, 0, 0, 0.8); } /* Footer Border Color */ .footer-widgets ul li, .footer-widgets + .footer-bottom { border-color: rgba( 0, 0, 0, 0.3); } </style> <link data-minify="1" rel='stylesheet' id='couchbase-style-css' href='https://www.couchbase.com/blog/wp-content/cache/min/1/blog/wp-content/themes/couchbase/style.css?ver=1732535971' type='text/css' media='all' /> <link data-minify="1" rel='stylesheet' id='root-css-css' href='https://www.couchbase.com/blog/wp-content/cache/min/1/blog/wp-content/themes/couchbase/css/root.css?ver=1732535971' type='text/css' media='all' /> <link data-minify="1" rel='stylesheet' id='font-awesome-css' href='https://www.couchbase.com/blog/wp-content/cache/min/1/blog/wp-content/themes/paperback/inc/fontawesome/css/font-awesome.css?ver=1732535971' type='text/css' media='screen' /> <link data-minify="1" rel='stylesheet' id='heateor_sl_frontend_css-css' href='https://www.couchbase.com/blog/wp-content/cache/min/1/blog/wp-content/plugins/heateor-social-login/public/css/heateor-social-login-public.css?ver=1732535971' type='text/css' media='all' /> <link data-minify="1" rel='stylesheet' id='thickbox-css' href='https://www.couchbase.com/blog/wp-content/cache/min/1/blog/wp-includes/js/thickbox/thickbox.css?ver=1732535971' type='text/css' media='all' /> <link data-minify="1" rel='stylesheet' id='heateor_sss_frontend_css-css' href='https://www.couchbase.com/blog/wp-content/cache/min/1/blog/wp-content/plugins/sassy-social-share/public/css/sassy-social-share-public.css?ver=1732535971' type='text/css' media='all' /> <style id='heateor_sss_frontend_css-inline-css' type='text/css'> .heateor_sss_button_instagram span.heateor_sss_svg,a.heateor_sss_instagram span.heateor_sss_svg{background:radial-gradient(circle at 30% 107%,#fdf497 0,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285aeb 90%)}.heateor_sss_horizontal_sharing .heateor_sss_svg,.heateor_sss_standard_follow_icons_container .heateor_sss_svg{color:#fff;border-width:0px;border-style:solid;border-color:transparent}.heateor_sss_horizontal_sharing .heateorSssTCBackground{color:#666}.heateor_sss_horizontal_sharing span.heateor_sss_svg:hover,.heateor_sss_standard_follow_icons_container span.heateor_sss_svg:hover{border-color:transparent;}.heateor_sss_vertical_sharing span.heateor_sss_svg,.heateor_sss_floating_follow_icons_container span.heateor_sss_svg{color:#fff;border-width:0px;border-style:solid;border-color:transparent;}.heateor_sss_vertical_sharing .heateorSssTCBackground{color:#666;}.heateor_sss_vertical_sharing span.heateor_sss_svg:hover,.heateor_sss_floating_follow_icons_container span.heateor_sss_svg:hover{border-color:transparent;}@media screen and (max-width:783px) {.heateor_sss_vertical_sharing{display:none!important}}div.heateor_sss_mobile_footer{display:none;}@media screen and (max-width:783px){div.heateor_sss_bottom_sharing .heateorSssTCBackground{background-color:white}div.heateor_sss_bottom_sharing{width:100%!important;left:0!important;}div.heateor_sss_bottom_sharing a{width:25% !important;}div.heateor_sss_bottom_sharing .heateor_sss_svg{width: 100% !important;}div.heateor_sss_bottom_sharing div.heateorSssTotalShareCount{font-size:1em!important;line-height:28px!important}div.heateor_sss_bottom_sharing div.heateorSssTotalShareText{font-size:.7em!important;line-height:0px!important}div.heateor_sss_mobile_footer{display:block;height:40px;}.heateor_sss_bottom_sharing{padding:0!important;display:block!important;width:auto!important;bottom:-2px!important;top: auto!important;}.heateor_sss_bottom_sharing .heateor_sss_square_count{line-height:inherit;}.heateor_sss_bottom_sharing .heateorSssSharingArrow{display:none;}.heateor_sss_bottom_sharing .heateorSssTCBackground{margin-right:1.1em!important}} </style> <link data-minify="1" rel='stylesheet' id='algolia-autocomplete-css' href='https://www.couchbase.com/blog/wp-content/cache/min/1/blog/wp-content/plugins/wp-search-with-algolia/css/algolia-autocomplete.css?ver=1732535971' type='text/css' media='all' /> <link data-minify="1" rel='stylesheet' id='header-style-css' href='https://www.couchbase.com/blog/wp-content/cache/min/1/blog/wp-content/themes/couchbase/css/header.css?ver=1732535971' type='text/css' media='all' /> <link data-minify="1" rel='stylesheet' id='header-ipad-style-css' href='https://www.couchbase.com/blog/wp-content/cache/min/1/blog/wp-content/themes/couchbase/css/header-ipad.css?ver=1732535971' type='text/css' media='only screen and (min-width: 1025px)' /> <link data-minify="1" rel='stylesheet' id='common-style-css' href='https://www.couchbase.com/blog/wp-content/cache/min/1/blog/wp-content/themes/couchbase/css/common.css?ver=1732535971' type='text/css' media='all' /> <link data-minify="1" rel='stylesheet' id='paperback-fonts-gotham-css' href='https://www.couchbase.com/blog/wp-content/cache/min/1/blog/wp-content/themes/couchbase/hco_fonts/hco_fonts.css?ver=1732535971' type='text/css' media='all' /> <link data-minify="1" rel='stylesheet' id='posts-style-css' href='https://www.couchbase.com/blog/wp-content/cache/min/1/blog/wp-content/themes/couchbase/css/posts.css?ver=1732535971' type='text/css' media='all' /> <link data-minify="1" rel='stylesheet' id='posts-ipad-style-css' href='https://www.couchbase.com/blog/wp-content/cache/min/1/blog/wp-content/themes/couchbase/css/posts-ipad.css?ver=1732535971' type='text/css' media='only screen and (min-width: 768px)' /> <link data-minify="1" rel='stylesheet' id='promotion-style-css' href='https://www.couchbase.com/blog/wp-content/cache/min/1/blog/wp-content/themes/couchbase/css/promotion-banner.css?ver=1732535971' type='text/css' media='all' /> <link data-minify="1" rel='stylesheet' id='footer-style-css' href='https://www.couchbase.com/blog/wp-content/cache/min/1/blog/wp-content/themes/couchbase/css/footer.css?ver=1732535971' type='text/css' media='all' /> <link data-minify="1" rel='stylesheet' id='footer-ipad-style-css' href='https://www.couchbase.com/blog/wp-content/cache/min/1/blog/wp-content/themes/couchbase/css/footer-ipad.css?ver=1732535971' type='text/css' media='only screen and (min-width: 768px)' /> <script type="text/javascript" src="https://www.couchbase.com/blog/wp-content/themes/couchbase/js/jquery.min.js?ver=3.3.5" id="jquery-js"></script> <script type="text/javascript" id="urvanov_syntax_highlighter_js-js-extra"> /* <![CDATA[ */ var UrvanovSyntaxHighlighterSyntaxSettings = {"version":"2.8.37","is_admin":"0","ajaxurl":"https:\/\/www.couchbase.com\/blog\/wp-admin\/admin-ajax.php","prefix":"urvanov-syntax-highlighter-","setting":"urvanov-syntax-highlighter-setting","selected":"urvanov-syntax-highlighter-setting-selected","changed":"urvanov-syntax-highlighter-setting-changed","special":"urvanov-syntax-highlighter-setting-special","orig_value":"data-orig-value","debug":""}; var UrvanovSyntaxHighlighterSyntaxStrings = {"copy":"Copied to the clipboard","minimize":"Click To Expand Code"}; /* ]]> */ </script> <script type="rocketlazyloadscript" data-rocket-type="text/javascript" data-rocket-src="https://www.couchbase.com/blog/wp-content/plugins/urvanov-syntax-highlighter/js/min/urvanov_syntax_highlighter.min.js?ver=2.8.37" id="urvanov_syntax_highlighter_js-js"></script> <script type="rocketlazyloadscript" data-minify="1" data-rocket-type="text/javascript" data-rocket-src="https://www.couchbase.com/blog/wp-content/cache/min/1/blog/wp-content/themes/couchbase/js/terminus-chat.js?ver=1732535971" id="couchbase-terminus-chatbot-js"></script> <script type="rocketlazyloadscript" data-minify="1" data-rocket-type="text/javascript" data-rocket-src="https://www.couchbase.com/blog/wp-content/cache/min/1/blog/wp-content/themes/couchbase/js/paperback.js?ver=1732535971" id="couchbase-paperback-js-js"></script> <link rel="https://api.w.org/" href="https://www.couchbase.com/blog/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://www.couchbase.com/blog/wp-json/wp/v2/tags/1254" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://www.couchbase.com/blog/xmlrpc.php?rsd" /> <!-- Google Tag Manager for WordPress by gtm4wp.com --> <!-- GTM Container placement set to footer --> <script data-cfasync="false" data-pagespeed-no-defer type="text/javascript"> var dataLayer_content = {"pageTitle":"express Archives - The Couchbase Blog","pagePostType":"post","pagePostType2":"tag-post","postCountOnPage":8,"postCountTotal":8}; dataLayer.push( dataLayer_content ); </script> <script type="rocketlazyloadscript" data-cfasync="false"> (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= '//metrics.couchbase.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-MVPNN2'); </script> <!-- End Google Tag Manager for WordPress by gtm4wp.com --> <style id="wpp-loading-animation-styles">@-webkit-keyframes bgslide{from{background-position-x:0}to{background-position-x:-200%}}@keyframes bgslide{from{background-position-x:0}to{background-position-x:-200%}}.wpp-widget-block-placeholder,.wpp-shortcode-placeholder{margin:0 auto;width:60px;height:3px;background:#dd3737;background:linear-gradient(90deg,#dd3737 0%,#571313 10%,#dd3737 100%);background-size:200% auto;border-radius:3px;-webkit-animation:bgslide 1s infinite linear;animation:bgslide 1s infinite linear}</style> <style type="text/css"> .site-identity { padding: 2% 0; } .single .hero-posts .with-featured-image { padding-top: 26%; } </style> <link rel="icon" href="https://www.couchbase.com/blog/wp-content/uploads/sites/1/2023/10/couchbase-favicon.svg" sizes="32x32" /> <link rel="icon" href="https://www.couchbase.com/blog/wp-content/uploads/sites/1/2023/10/couchbase-favicon.svg" sizes="192x192" /> <link rel="apple-touch-icon" href="https://www.couchbase.com/blog/wp-content/uploads/sites/1/2023/10/couchbase-favicon.svg" /> <meta name="msapplication-TileImage" content="https://www.couchbase.com/blog/wp-content/uploads/sites/1/2023/10/couchbase-favicon.svg" /> <style type="text/css" id="wp-custom-css"> @media all and (max-width: 1200px) { .algolia-autocomplete { display: none !important; } } </style> <style type="text/css">/** Mega Menu CSS: disabled **/</style> <!-- OneTrust Cookies Consent Notice start for couchbase.com --> <script type="rocketlazyloadscript" data-rocket-src="https://cdn.cookielaw.org/scripttemplates/otSDKStub.js" data-rocket-type="text/javascript" charset="UTF-8" data-domain-script="748511ff-10bf-44bf-88b8-36382e5b5fd9"></script> <script type="rocketlazyloadscript" data-rocket-type="text/javascript"> function OptanonWrapper() {} </script> <!-- OneTrust Cookies Consent Notice end for couchbase.com --></head> <body class="archive tag tag-express tag-1254 mega-menu-cb-header-menu has-sidebar two-column group-blog"> <header data-rocket-location-hash="9fcecfaaa44ad8e28dbd90e4c1fb5574" id="masthead" class="site-header" role="banner"> <div data-rocket-location-hash="e7d8a912baa9a7189e4a89d4eb70ce8c" class="container flex"> <div data-rocket-location-hash="f088df60018cae7995f97c076547015a" class="brand_logo_wrap"> <a href="https://www.couchbase.com/"> <img src="https://www.couchbase.com/blog/wp-content/themes/couchbase/images/Logo-2000.svg" width="203" height="46" alt="Couchbase Website"> </a> </div> <div data-rocket-location-hash="e57c28d77d16894c0097428953c90bc1" class="mega-menu-toggle ipad-menu" id="megaToggle"></div> <nav class="menu-container"> <div id="mega-menu-wrap-cb-header-menu" class="mega-menu-wrap"><div class="mega-menu-toggle"><div class="mega-toggle-blocks-left"></div><div class="mega-toggle-blocks-center"></div><div class="mega-toggle-blocks-right"><div class='mega-toggle-block mega-menu-toggle-animated-block mega-toggle-block-0' id='mega-toggle-block-0'><button aria-label="Toggle Menu" class="mega-toggle-animated mega-toggle-animated-slider" type="button" aria-expanded="false"> <span class="mega-toggle-animated-box"> <span class="mega-toggle-animated-inner"></span> </span> </button></div></div></div><ul id="mega-menu-cb-header-menu" class="mega-menu max-mega-menu mega-menu-horizontal mega-no-js" data-event="hover" data-effect="disabled" data-effect-speed="200" data-effect-mobile="disabled" data-effect-speed-mobile="0" data-mobile-force-width="false" data-second-click="go" data-document-click="collapse" data-vertical-behaviour="standard" data-breakpoint="1024" data-unbind="true" data-mobile-state="collapse_all" data-mobile-direction="vertical" data-hover-intent-timeout="300" data-hover-intent-interval="100"><li class='mega-products-menu mega-menu-item mega-menu-item-type-custom mega-menu-item-object-custom mega-menu-item-has-children mega-menu-megamenu mega-align-bottom-left mega-menu-grid mega-menu-item-13438 products-menu' id='mega-menu-item-13438'><a class="mega-menu-link" href="#" aria-expanded="false" tabindex="0">Products<span class="mega-indicator"></span></a> <ul class="mega-sub-menu"> <li class='mega-menu-row mega-row-products-menu row-products-menu' id='mega-menu-13438-0'> <ul class="mega-sub-menu"> <li class='mega-menu-column mega-grid-products-menu mega-menu-columns-1-of-2 grid-products-menu' id='mega-menu-13438-0-0'> <ul class="mega-sub-menu"> <li class='mega-menu-item mega-menu-item-type-widget widget_nav_menu mega-menu-item-nav_menu-29' id='mega-menu-item-nav_menu-29'><h4 class="mega-block-title">Platform</h4><div class="menu-platform-container"><ul id="menu-platform" class="menu"><li id="menu-item-15750" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-15750"><a href="/products/capella/">Couchbase Capella<span>Database-as-a-Service</span></a></li> </ul></div></li><li class='mega-menu-item mega-menu-item-type-widget widget_nav_menu mega-menu-item-nav_menu-30' id='mega-menu-item-nav_menu-30'><h4 class="mega-block-title">Self-Managed</h4><div class="menu-self-managed-container"><ul id="menu-self-managed" class="menu"><li id="menu-item-15755" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-15755"><a href="/products/server/">Couchbase Server<span>On-prem, multicloud, community</span></a></li> </ul></div></li> </ul> </li><li class='mega-menu-column mega-grid-products-menu mega-menu-columns-1-of-2 grid-products-menu' id='mega-menu-13438-0-1'> <ul class="mega-sub-menu"> <li class='mega-menu-item mega-menu-item-type-widget widget_nav_menu mega-menu-item-nav_menu-27' id='mega-menu-item-nav_menu-27'><h4 class="mega-block-title">Services</h4><div class="menu-services-container"><ul id="menu-services" class="menu"><li id="menu-item-15751" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-15751"><a href="/products/vector-search/">Artificial Intelligence <span>GenAI, coding assistance, RAG</span></a></li> <li id="menu-item-15752" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-15752"><a href="/products/full-text-search/">Search <span>Full-text, hybrid, geospatial, vector</span></a></li> <li id="menu-item-15753" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-15753"><a href="/products/mobile/">Mobile<span>Embedded NoSQL, cloud to edge sync, offline-first</span></a></li> <li id="menu-item-15754" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-15754"><a href="/products/analytics/">Columnar Analytics<span>Real-time, multisource analytics</span></a></li> </ul></div></li><li class='mega-menu-item mega-menu-item-type-widget widget_nav_menu mega-menu-item-nav_menu-28' id='mega-menu-item-nav_menu-28'><h4 class="mega-block-title">Capabilities</h4><div class="menu-capabilities-container"><ul id="menu-capabilities" class="menu"><li id="menu-item-15756" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-15756"><a href="/developers/architecture/">In-memory Architecture<span>Speed, scale, availability</span></a></li> <li id="menu-item-15757" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-15757"><a href="/developers/">Build Flexible Apps<span>JSON, SQL++, multipurpose</span></a></li> <li id="menu-item-15758" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-15758"><a href="/products/operator/">Cloud Automation<span>Kubernetes Operator</span></a></li> <li id="menu-item-15759" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-15759"><a href="/developers/sdks/">Dev Tools<span>SDKs, integrations, Capella iQ</span></a></li> </ul></div></li> </ul> </li> </ul> </li><li class='mega-menu-row mega-bg-peach bg-peach' id='mega-menu-13438-1'> <ul class="mega-sub-menu"> <li class='mega-menu-column mega-menu-columns-1-of-1' id='mega-menu-13438-1-0'> <ul class="mega-sub-menu"> <li class='mega-menu-item mega-menu-item-type-widget widget_custom_html mega-menu-item-custom_html-16' id='mega-menu-item-custom_html-16'><h4 class="mega-block-title">Why Couchbase?</h4><div class="textwidget custom-html-widget"><div class='menu-card'> <p>Developers and enterprises choose Couchbase for their mission-critical applications.</p> <a href='/why-couchbase/' class='cta-btn bg-black text-white'>See Why</a> </div> <div class='menu-card before-border'> <h4 class="mega-inner-title">Vector Search</h4> <p>Vector search delivers nearest-neighbor results, without needing a direct match.</p> <a href='/products/vector-search/' class='cta-btn bg-black text-white'>Learn More</a> </div></div></li> </ul> </li> </ul> </li></ul> </li><li class='mega-solutions-menu mega-menu-item mega-menu-item-type-custom mega-menu-item-object-custom mega-menu-item-has-children mega-menu-megamenu mega-align-bottom-left mega-menu-grid mega-menu-item-13439 solutions-menu' id='mega-menu-item-13439'><a class="mega-menu-link" href="#" aria-expanded="false" tabindex="0">Solutions<span class="mega-indicator"></span></a> <ul class="mega-sub-menu"> <li class='mega-menu-row' id='mega-menu-13439-0'> <ul class="mega-sub-menu"> <li class='mega-menu-column mega-w-36 mega-menu-columns-4-of-12 w-36' id='mega-menu-13439-0-0'> <ul class="mega-sub-menu"> <li class='mega-menu-item mega-menu-item-type-widget widget_nav_menu mega-menu-item-nav_menu-31' id='mega-menu-item-nav_menu-31'><h4 class="mega-block-title">By Use Case</h4><div class="menu-by-use-case-container"><ul id="menu-by-use-case" class="menu"><li id="menu-item-15760" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-15760"><a href="/use-cases/artificial-intelligence/">Artificial Intelligence</a></li> <li id="menu-item-15761" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-15761"><a href="/use-cases/session-management/">Caching and Session Management</a></li> <li id="menu-item-15762" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-15762"><a href="/use-cases/product-catalog/">Adaptive Product Catalog</a></li> <li id="menu-item-15763" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-15763"><a href="/use-cases/smart-personalization/">Smart Personalization &#038; Profiles</a></li> <li id="menu-item-15764" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-15764"><a href="/use-cases/field-service/">Adaptive Field Services</a></li> <li id="menu-item-15765" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-15765"><a href="/use-cases/real-time-analytics/">Real-Time Analytics for AI</a></li> <li id="menu-item-15766" class="active-link menu-item menu-item-type-custom menu-item-object-custom menu-item-15766"><a href="/use-cases/#usecaseIndustry_1">See all use cases</a></li> </ul></div></li> </ul> </li><li class='mega-menu-column mega-w-28 mega-menu-columns-4-of-12 w-28' id='mega-menu-13439-0-1'> <ul class="mega-sub-menu"> <li class='mega-menu-item mega-menu-item-type-widget widget_nav_menu mega-menu-item-nav_menu-32' id='mega-menu-item-nav_menu-32'><h4 class="mega-block-title">By Industry</h4><div class="menu-by-industry-container"><ul id="menu-by-industry" class="menu"><li id="menu-item-13452" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-13452"><a href="/use-cases/energy-and-utilities/">Energy &#038; Utilities</a></li> <li id="menu-item-13453" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-13453"><a href="/use-cases/gaming/">Gaming</a></li> <li id="menu-item-13454" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-13454"><a href="/use-cases/healthcare/">Healthcare</a></li> <li id="menu-item-13455" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-13455"><a href="/use-cases/media-and-entertainment/">Entertainment</a></li> <li id="menu-item-13456" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-13456"><a href="/use-cases/retail-and-ecommerce/">Retail</a></li> <li id="menu-item-15024" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-15024"><a href="/use-cases/travel-and-hospitality/">Travel &#038; Hospitality</a></li> <li id="menu-item-13457" class="active-link menu-item menu-item-type-custom menu-item-object-custom menu-item-13457"><a href="/use-cases/#usecaseIndustry_2">See all industries</a></li> </ul></div></li> </ul> </li><li class='mega-menu-column mega-w-36 mega-menu-columns-4-of-12 w-36' id='mega-menu-13439-0-2'> <ul class="mega-sub-menu"> <li class='mega-menu-item mega-menu-item-type-widget widget_nav_menu mega-menu-item-nav_menu-33' id='mega-menu-item-nav_menu-33'><h4 class="mega-block-title">By Application Need</h4><div class="menu-by-application-need-container"><ul id="menu-by-application-need" class="menu"><li id="menu-item-13458" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-13458"><a href="/use-cases/application-performance/">Application Performance</a></li> <li id="menu-item-13459" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-13459"><a href="/use-cases/distributed-workloads/">Distributed Workloads</a></li> <li id="menu-item-13460" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-13460"><a href="/use-cases/application-flexibility/">Application Flexibility</a></li> <li id="menu-item-13461" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-13461"><a href="/use-cases/edge-computing/">Mobile, IoT, &#038; Edge</a></li> <li id="menu-item-13462" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-13462"><a href="/use-cases/developer-productivity/">Developer Productivity</a></li> <li id="menu-item-15023" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-15023"><a href="/use-cases/operational-cost-reduction/">High Cost Of Operations</a></li> <li id="menu-item-13463" class="active-link menu-item menu-item-type-custom menu-item-object-custom menu-item-13463"><a href="/use-cases/#usecaseIndustry_3">See all application needs</a></li> </ul></div></li> </ul> </li> </ul> </li></ul> </li><li class='mega-developers-menu mega-menu-item mega-menu-item-type-custom mega-menu-item-object-custom mega-menu-item-has-children mega-menu-megamenu mega-align-bottom-left mega-menu-grid mega-menu-item-14175 developers-menu' id='mega-menu-item-14175'><a class="mega-menu-link" href="#" aria-expanded="false" tabindex="0">Developers<span class="mega-indicator"></span></a> <ul class="mega-sub-menu"> <li class='mega-menu-row' id='mega-menu-14175-0'> <ul class="mega-sub-menu"> <li class='mega-menu-column mega-w-30 mega-menu-columns-4-of-12 w-30' id='mega-menu-14175-0-0'> <ul class="mega-sub-menu"> <li class='mega-menu-item mega-menu-item-type-widget widget_nav_menu mega-menu-item-nav_menu-35' id='mega-menu-item-nav_menu-35'><h4 class="mega-block-title">Popular Docs</h4><div class="menu-popular-docs-container"><ul id="menu-popular-docs" class="menu"><li id="menu-item-13485" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-13485"><a target="_blank" rel="noopener" href="https://docs.couchbase.com/cloud/index.html">Capella Overview</a></li> <li id="menu-item-13486" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-13486"><a target="_blank" rel="noopener" href="https://docs.couchbase.com/server/current/introduction/why-couchbase.html">Server Overview</a></li> <li id="menu-item-13487" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-13487"><a target="_blank" rel="noopener" href="https://docs.couchbase.com/home/mobile.html">Mobile &#038; Edge Overview</a></li> <li id="menu-item-13488" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-13488"><a target="_blank" rel="noopener" href="https://docs.couchbase.com/home/sdk.html">Connecting Apps (SDKs)</a></li> <li id="menu-item-13489" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-13489"><a target="_blank" rel="noopener" href="https://developer.couchbase.com/tutorials">Tutorials &#038; Samples</a></li> <li id="menu-item-13490" class="active-link menu-item menu-item-type-custom menu-item-object-custom menu-item-13490"><a target="_blank" rel="noopener" href="https://docs.couchbase.com/home/index.html">Docs Home</a></li> </ul></div></li> </ul> </li><li class='mega-menu-column mega-w-28 mega-menu-columns-4-of-12 w-28' id='mega-menu-14175-0-1'> <ul class="mega-sub-menu"> <li class='mega-menu-item mega-menu-item-type-widget widget_nav_menu mega-menu-item-nav_menu-34' id='mega-menu-item-nav_menu-34'><h4 class="mega-block-title">By Developer Role</h4><div class="menu-by-developer-role-container"><ul id="menu-by-developer-role" class="menu"><li id="menu-item-15012" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-15012"><a href="https://www.couchbase.com/developers/backend/">Backend</a></li> <li id="menu-item-15013" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-15013"><a href="https://www.couchbase.com/developers/full-stack/">Full Stack</a></li> <li id="menu-item-15014" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-15014"><a href="https://www.couchbase.com/developers/mobile/">Mobile</a></li> <li id="menu-item-15015" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-15015"><a href="https://www.couchbase.com/developers/devops-dbas/">Ops / DBA</a></li> <li id="menu-item-15025" class="active-link menu-item menu-item-type-custom menu-item-object-custom menu-item-15025"><a href="https://www.couchbase.com/developers/">Developers Home</a></li> </ul></div></li> </ul> </li><li class='mega-menu-column mega-custom-width mega-bg-peach mega-menu-columns-4-of-12 custom-width bg-peach' id='mega-menu-14175-0-2'> <ul class="mega-sub-menu"> <li class='mega-menu-item mega-menu-item-type-widget widget_custom_html mega-menu-item-custom_html-17' id='mega-menu-item-custom_html-17'><h4 class="mega-block-title">Capella Playground</h4><div class="textwidget custom-html-widget"><div class='menu-card'> <a class='menu-banner' href='https://cloud.couchbase.com/sign-up'><img loading='lazy' src='https://www.couchbase.com/wp-content/uploads/sites/3/2022/10/capella-free-trial-01.png' alt=''> </a> <h6 class='mega-inner-title'> Start A Free Capella Trial </h6> <p> Try the Couchbase Capella Playground. </p> <a href='https://cloud.couchbase.com/sign-up' class='cta-btn bg-black text-white' target='_blank' rel="noopener">Sign Up</a> </div></div></li> </ul> </li> </ul> </li></ul> </li><li class='mega-resources-menu mega-menu-item mega-menu-item-type-custom mega-menu-item-object-custom mega-menu-item-has-children mega-menu-megamenu mega-align-bottom-left mega-menu-grid mega-menu-item-13441 resources-menu' id='mega-menu-item-13441'><a class="mega-menu-link" href="#" aria-expanded="false" tabindex="0">Resources<span class="mega-indicator"></span></a> <ul class="mega-sub-menu"> <li class='mega-menu-row' id='mega-menu-13441-0'> <ul class="mega-sub-menu"> <li class='mega-menu-column mega-w-36 mega-menu-columns-4-of-12 w-36' id='mega-menu-13441-0-0'> <ul class="mega-sub-menu"> <li class='mega-menu-item mega-menu-item-type-widget widget_nav_menu mega-menu-item-nav_menu-36' id='mega-menu-item-nav_menu-36'><h4 class="mega-block-title">Resource Center</h4><div class="menu-resource-center-container"><ul id="menu-resource-center" class="menu"><li id="menu-item-15016" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-home menu-item-15016"><a target="_blank" rel="noopener" href="https://www.couchbase.com/blog/">Blogs</a></li> <li id="menu-item-13514" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-13514"><a href="https://www.couchbase.com/resources/webcasts-and-events/">Webcasts &#038; Events</a></li> <li id="menu-item-13513" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-13513"><a href="https://www.couchbase.com/resources/?query=&#038;content=Videos%20and%20Presentations&#038;page=1">Videos &#038; Presentations</a></li> <li id="menu-item-13515" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-13515"><a href="https://www.couchbase.com/resources/nosql-whitepapers/">Whitepapers</a></li> <li id="menu-item-13516" class="active-link menu-item menu-item-type-custom menu-item-object-custom menu-item-13516"><a href="https://www.couchbase.com/resources/">See all resources</a></li> </ul></div></li> </ul> </li><li class='mega-menu-column mega-w-28 mega-menu-columns-4-of-12 w-28' id='mega-menu-13441-0-1'> <ul class="mega-sub-menu"> <li class='mega-menu-item mega-menu-item-type-widget widget_nav_menu mega-menu-item-nav_menu-37' id='mega-menu-item-nav_menu-37'><h4 class="mega-block-title">Education</h4><div class="menu-education-container"><ul id="menu-education" class="menu"><li id="menu-item-13473" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-13473"><a href="https://www.couchbase.com/academy/">Academy</a></li> <li id="menu-item-13474" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-13474"><a href="https://www.couchbase.com/academy/certification/">Certification</a></li> <li id="menu-item-13476" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-13476"><a target="_blank" rel="noopener" href="https://www.couchbase.com/forums/">Forums</a></li> <li id="menu-item-13477" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-13477"><a target="_blank" rel="noopener" href="https://support.couchbase.com/hc/en-us/">Support Login</a></li> <li id="menu-item-15017" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-15017"><a href="https://docs.couchbase.com/">Documentation</a></li> </ul></div></li> </ul> </li><li class='mega-menu-column mega-w-36 mega-menu-columns-4-of-12 w-36' id='mega-menu-13441-0-2'> <ul class="mega-sub-menu"> <li class='mega-menu-item mega-menu-item-type-widget widget_nav_menu mega-menu-item-nav_menu-41' id='mega-menu-item-nav_menu-41'><h4 class="mega-block-title">Compare</h4><div class="menu-compare-container"><ul id="menu-compare" class="menu"><li id="menu-item-16598" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-16598"><a href="/comparing-couchbase-vs-mongodb/">Couchbase vs. MongoDB</a></li> <li id="menu-item-16599" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-16599"><a href="/comparing-couchbase-vs-oracle/">Couchbase vs. Oracle</a></li> <li id="menu-item-16600" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-16600"><a href="/comparing-couchbase-vs-dynamodb/">Couchbase vs. DynamoDB</a></li> <li id="menu-item-16601" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-16601"><a href="/mongodb-redis/">Couchbase vs. Redis</a></li> <li id="menu-item-16602" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-16602"><a href="/nosql-database-cloud-comparison/">NoSQL Cloud Comparison</a></li> </ul></div></li> </ul> </li> </ul> </li></ul> </li><li class='mega-company-menu mega-menu-item mega-menu-item-type-custom mega-menu-item-object-custom mega-menu-item-has-children mega-menu-megamenu mega-align-bottom-left mega-menu-grid mega-menu-item-13442 company-menu' id='mega-menu-item-13442'><a class="mega-menu-link" href="#" aria-expanded="false" tabindex="0">Company<span class="mega-indicator"></span></a> <ul class="mega-sub-menu"> <li class='mega-menu-row' id='mega-menu-13442-0'> <ul class="mega-sub-menu"> <li class='mega-menu-column mega-w-20 mega-pr-10 mega-menu-columns-3-of-12 w-20 pr-10' id='mega-menu-13442-0-0'> <ul class="mega-sub-menu"> <li class='mega-menu-item mega-menu-item-type-widget widget_nav_menu mega-menu-item-nav_menu-38' id='mega-menu-item-nav_menu-38'><h4 class="mega-block-title">About</h4><div class="menu-about-container"><ul id="menu-about" class="menu"><li id="menu-item-13446" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-13446"><a href="https://www.couchbase.com/about/">About Us</a></li> <li id="menu-item-13447" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-13447"><a href="https://www.couchbase.com/leadership/">Leadership</a></li> <li id="menu-item-13448" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-13448"><a href="https://www.couchbase.com/customers/">Customers</a></li> <li id="menu-item-15021" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-15021"><a href="https://investors.couchbase.com/">Investors</a></li> <li id="menu-item-15022" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-home menu-item-15022"><a href="https://www.couchbase.com/blog/">Blog</a></li> <li id="menu-item-13450" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-13450"><a href="https://www.couchbase.com/news-and-press-releases/">Newsroom</a></li> <li id="menu-item-13451" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-13451"><a href="/careers/">Careers</a></li> </ul></div></li> </ul> </li><li class='mega-menu-column mega-w-20 mega-pl-20 mega-pr-10 mega-menu-columns-3-of-12 w-20 pl-20 pr-10' id='mega-menu-13442-0-1'> <ul class="mega-sub-menu"> <li class='mega-menu-item mega-menu-item-type-widget widget_nav_menu mega-menu-item-nav_menu-39' id='mega-menu-item-nav_menu-39'><h4 class="mega-block-title">Partnerships</h4><div class="menu-partnerships-container"><ul id="menu-partnerships" class="menu"><li id="menu-item-15018" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-15018"><a href="/partners/find-a-partner/">Find a Partner</a></li> <li id="menu-item-15019" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-15019"><a href="/partners/partner-with-couchbase/">Become a Partner</a></li> <li id="menu-item-15020" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-15020"><a href="/register-a-deal/">Register a Deal</a></li> </ul></div></li> </ul> </li><li class='mega-menu-column mega-w-26 mega-pl-20 mega-menu-columns-3-of-12 w-26 pl-20' id='mega-menu-13442-0-2'> <ul class="mega-sub-menu"> <li class='mega-menu-item mega-menu-item-type-widget widget_nav_menu mega-menu-item-nav_menu-40' id='mega-menu-item-nav_menu-40'><h4 class="mega-block-title">Our Services</h4><div class="menu-our-services-container"><ul id="menu-our-services" class="menu"><li id="menu-item-13482" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-13482"><a href="https://www.couchbase.com/professional-services/">Professional Services</a></li> <li id="menu-item-13484" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-13484"><a target="_blank" rel="noopener" href="https://support.couchbase.com/hc/en-us/">Enterprise Support</a></li> </ul></div></li> </ul> </li><li class='mega-menu-column mega-bg-peach mega-cp-custom-width mega-menu-columns-3-of-12 bg-peach cp-custom-width' id='mega-menu-13442-0-3'> <ul class="mega-sub-menu"> <li class='mega-menu-item mega-menu-item-type-widget widget_custom_html mega-menu-item-custom_html-19' id='mega-menu-item-custom_html-19'><h4 class="mega-block-title">Partners: Register a Deal</h4><div class="textwidget custom-html-widget"><div class='menu-card'> <h6 class='mega-inner-title'> Ready to register a deal with Couchbase? </h6> <p> Let us know your partner details and more about the prospect you are registering. </p> <a href='https://www.couchbase.com/register-a-deal/' class='cta-btn bg-black text-white'>Start here</a> </div> <div class='menu-card before-border'> <h6 class='mega-inner-title'> Marriott </h6> <p> Marriott chose Couchbase over MongoDB and Cassandra for their reliable personalized customer experience. </p> <a href='https://www.couchbase.com/customers/marriott/' class='cta-btn bg-black text-white'>Learn more</a> </div></div></li> </ul> </li> </ul> </li></ul> </li><li class='mega-action-item mega-menu-item mega-menu-item-type-custom mega-menu-item-object-custom mega-align-bottom-left mega-menu-flyout mega-menu-item-13445 action-item' id='mega-menu-item-13445'><a class="mega-menu-link" href="https://www.couchbase.com/pricing/" tabindex="0">Pricing</a></li><li class='mega-free-trial mega-blue-btn mega-right-side-menu mega-menu-item mega-menu-item-type-custom mega-menu-item-object-custom mega-align-bottom-left mega-menu-flyout mega-menu-item-13443 free-trial blue-btn right-side-menu' id='mega-menu-item-13443'><a class="mega-menu-link" href="https://www.couchbase.com/downloads/" tabindex="0">Try Free</a></li><li class='mega-sign-in-link mega-right-side-menu mega-menu-item mega-menu-item-type-custom mega-menu-item-object-custom mega-align-bottom-left mega-menu-flyout mega-menu-item-13444 sign-in-link right-side-menu' id='mega-menu-item-13444'><a target="_blank" class="mega-menu-link" href="https://cloud.couchbase.com/" tabindex="0">Sign In</a></li><li class='mega-right-side-menu mega-search-icon mega-menu-item mega-menu-item-type-custom mega-menu-item-object-custom mega-align-bottom-left mega-menu-flyout mega-menu-item-13971 right-side-menu search-icon' id='mega-menu-item-13971'><a class="mega-menu-link" href="/search/" tabindex="0">search</a></li></ul></div> <div class="blog-main-menu drawer-menu-explore"> <nav id="site-navigation" class="blog-main-navigation " role="navigation"> <div class="menu-md-wrap"> <div class="menu-primary-container"><ul id="menu-primary" class="blog-menu"><li id="menu-item-5792" class="disable-link menu-item menu-item-type-custom menu-item-object-custom menu-item-home menu-item-5792"><a href="https://www.couchbase.com/blog/">Blog</a></li> <li id="menu-item-1086" class="disable-link menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-1086"><a href="javascript:void(0);">Browse by Topic</a> <ul class="sub-menu"> <li id="menu-item-12007" class="menu-heading menu-heading-red menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-12007"><a href="javascript:void(0);">Topics</a> <ul class="sub-menu"> <li id="menu-item-12008" class="hyperlink-effect menu-item menu-item-type-custom menu-item-object-custom menu-item-12008"><a href="/blog/category/application-design/?ref=blog-menu">Application Design</a></li> <li id="menu-item-12009" class="hyperlink-effect menu-item menu-item-type-custom menu-item-object-custom menu-item-12009"><a href="/blog/category/data-modeling/?ref=blog-menu">Data Modeling</a></li> <li id="menu-item-12010" class="hyperlink-effect menu-item menu-item-type-custom menu-item-object-custom menu-item-12010"><a href="/blog/category/couchbase-architecture/?ref=blog-menu">Architecture</a></li> <li id="menu-item-12011" class="hyperlink-effect menu-item menu-item-type-custom menu-item-object-custom menu-item-12011"><a href="/blog/category/performance/?ref=blog-menu">Performance</a></li> <li id="menu-item-16036" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-16036"><a href="/blog/tag/artificial-intelligence/?ref=blog-menu">Artificial Intelligence</a></li> <li id="menu-item-12013" class="hyperlink-effect menu-item menu-item-type-custom menu-item-object-custom menu-item-12013"><a href="/blog/category/security/?ref=blog-menu">Security</a></li> <li id="menu-item-12012" class="hyperlink-effect menu-item menu-item-type-custom menu-item-object-custom menu-item-12012"><a href="/blog/category/best-practices-and-tutorials/?ref=blog-menu">Best Practices &#038; Tutorials</a></li> </ul> </li> </ul> </li> <li id="menu-item-12014" class="disable-link menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-12014"><a href="javascript:void(0);">Browse by Specialization</a> <ul class="sub-menu"> <li id="menu-item-12015" class="menu-heading menu-heading-red menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-12015"><a href="javascript:void(0);">Specializations</a> <ul class="sub-menu"> <li id="menu-item-12016" class="disable-link menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-12016"><a href="javascript:void(0);">Products</a> <ul class="sub-menu"> <li id="menu-item-12017" class="hyperlink-effect menu-item menu-item-type-custom menu-item-object-custom menu-item-12017"><a href="/blog/category/cloud/?ref=blog-menu">Capella</a></li> <li id="menu-item-12018" class="hyperlink-effect menu-item menu-item-type-custom menu-item-object-custom menu-item-12018"><a href="/blog/category/couchbase-server/?ref=blog-menu">Server</a></li> <li id="menu-item-12019" class="hyperlink-effect menu-item menu-item-type-custom menu-item-object-custom menu-item-12019"><a href="/blog/category/couchbase-autonomous-operator/?ref=blog-menu">Autonomous Operator</a></li> <li id="menu-item-12020" class="hyperlink-effect menu-item menu-item-type-custom menu-item-object-custom menu-item-12020"><a href="/blog/category/couchbase-mobile/?ref=blog-menu">Mobile</a></li> <li id="menu-item-12021" class="hyperlink-effect menu-item menu-item-type-custom menu-item-object-custom menu-item-12021"><a href="/blog/category/sync-gateway/?ref=blog-menu">Sync Gateway</a></li> <li id="menu-item-12022" class="hyperlink-effect menu-item menu-item-type-custom menu-item-object-custom menu-item-12022"><a href="/blog/category/couchbase-lite/?ref=blog-menu">Lite</a></li> </ul> </li> <li id="menu-item-12023" class="disable-link menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-12023"><a href="javascript:void(0);">SDKs</a> <ul class="sub-menu"> <li id="menu-item-12024" class="hyperlink-effect menu-item menu-item-type-custom menu-item-object-custom menu-item-12024"><a href="/blog/category/java/?ref=blog-menu">Java</a></li> <li id="menu-item-12025" class="hyperlink-effect menu-item menu-item-type-custom menu-item-object-custom menu-item-12025"><a href="/blog/category/dotnet/?ref=blog-menu">.NET</a></li> <li id="menu-item-12026" class="hyperlink-effect menu-item menu-item-type-custom menu-item-object-custom menu-item-12026"><a href="/blog/category/scala/?ref=blog-menu">Scala</a></li> <li id="menu-item-12027" class="hyperlink-effect menu-item menu-item-type-custom menu-item-object-custom menu-item-12027"><a href="/blog/category/ruby/?ref=blog-menu">Ruby</a></li> <li id="menu-item-12028" class="hyperlink-effect menu-item menu-item-type-custom menu-item-object-custom menu-item-12028"><a href="/blog/category/node-js/?ref=blog-menu">Node.js</a></li> <li id="menu-item-12029" class="hyperlink-effect menu-item menu-item-type-custom menu-item-object-custom menu-item-12029"><a href="/blog/category/android/?ref=blog-menu">Android</a></li> <li id="menu-item-12030" class="hyperlink-effect menu-item menu-item-type-custom menu-item-object-custom menu-item-12030"><a href="/blog/category/python/?ref=blog-menu">Python</a></li> <li id="menu-item-12031" class="hyperlink-effect menu-item menu-item-type-custom menu-item-object-custom menu-item-12031"><a href="/blog/category/php/?ref=blog-menu">PHP</a></li> <li id="menu-item-12032" class="hyperlink-effect menu-item menu-item-type-custom menu-item-object-custom menu-item-12032"><a href="/blog/category/swift/?ref=blog-menu">Swift</a></li> <li id="menu-item-12033" class="hyperlink-effect menu-item menu-item-type-custom menu-item-object-custom menu-item-12033"><a href="/blog/category/golang/?ref=blog-menu">GoLang</a></li> <li id="menu-item-12034" class="hyperlink-effect menu-item menu-item-type-custom menu-item-object-custom menu-item-12034"><a href="/blog/category/objective-c/?ref=blog-menu">Objective-C</a></li> </ul> </li> <li id="menu-item-12035" class="disable-link menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-12035"><a href="javascript:void(0);">Capabilities</a> <ul class="sub-menu"> <li id="menu-item-12036" class="hyperlink-effect menu-item menu-item-type-custom menu-item-object-custom menu-item-12036"><a href="/blog/category/n1ql-query/?ref=blog-menu">SQL++ (N1QL)</a></li> <li id="menu-item-12037" class="hyperlink-effect menu-item menu-item-type-custom menu-item-object-custom menu-item-12037"><a href="/blog/category/multi-dimensional-scaling/?ref=blog-menu">Multi-Dimensional Scaling</a></li> <li id="menu-item-12038" class="hyperlink-effect menu-item menu-item-type-custom menu-item-object-custom menu-item-12038"><a href="/blog/category/xdcr/?ref=blog-menu">XDCR</a></li> <li id="menu-item-12039" class="hyperlink-effect menu-item menu-item-type-custom menu-item-object-custom menu-item-12039"><a href="/blog/tag/caching/?ref=blog-menu">Caching</a></li> <li id="menu-item-12040" class="hyperlink-effect menu-item menu-item-type-custom menu-item-object-custom menu-item-12040"><a href="/blog/category/full-text-search/?ref=blog-menu">Full-Text Search</a></li> <li id="menu-item-12041" class="hyperlink-effect menu-item menu-item-type-custom menu-item-object-custom menu-item-12041"><a href="/blog/category/analytics/?ref=blog-menu">Analytics</a></li> <li id="menu-item-12042" class="hyperlink-effect menu-item menu-item-type-custom menu-item-object-custom menu-item-12042"><a href="/blog/category/indexing/?ref=blog-menu">Indexing</a></li> <li id="menu-item-12043" class="hyperlink-effect menu-item menu-item-type-custom menu-item-object-custom menu-item-12043"><a href="/blog/category/eventing/?ref=blog-menu">Eventing</a></li> <li id="menu-item-12044" class="hyperlink-effect menu-item menu-item-type-custom menu-item-object-custom menu-item-12044"><a href="/blog/category/backup/?ref=blog-menu">Backup</a></li> </ul> </li> </ul> </li> </ul> </li> </ul></div> </div> <div class="top-navigation-right"> <!-- --> <div id="searchbox" class="nav-searchbox"></div> <a class="blog-login-btn" href="/blog/wp-login.php" title="Blog Sign In" rel="home">Blog Sign In ></a> </div> </nav> </div> </nav> </div> </header> <div data-rocket-location-hash="74877e57db162c3f704265c4c1fc9723" class="nav-overlay"></div> <div data-rocket-location-hash="e80a859663525ad682af03bf0364c4ae" class="algolia-hits" id="hits-block"> <h6 class="algolia-post-title">All Posts</h6> <div data-rocket-location-hash="aa61f5a26aafa8af2a3c82b3251dc7a4" id="hits"></div> <button id="see-all-button" class="see-all-button cta-btn bg-black text-white">See All Results</button> </div> <div data-rocket-location-hash="d0f938fd329238543d169dec0303977e" id="page" class="hfeed site container"> <div data-rocket-location-hash="3a9f64de0a160a860058aac6a4c5c613" id="content" class="site-content"> <section data-rocket-location-hash="3ef21c85d0fcda63432c29c39d341011" id="primary" class="content-area"> <main id="main" class="site-main blocks-page" role="main"> <div class="entry-header archive-header"> <h1 class="entry-title">Tag: <span>express</span></h1> </div><!-- .entry-header --> <div id="post-wrapper"> <div class="grid-wrapper"> <div id="post-14673" class="grid-thumb post post-14673 type-post status-publish format-standard has-post-thumbnail hentry category-dotnet category-application-design category-couchbase-sdk category-spring-boot tag-asp-net tag-automated-tests tag-backend-development tag-chatgpt tag-collaboration tag-conduit tag-content-management tag-couchbase tag-couchbase-capella tag-express tag-frontend-development tag-github-copilot tag-java tag-learning tag-live-coding tag-node-js tag-open-source tag-ottoman-js tag-realworld-project tag-spring-boot tag-training tag-twitch"> <a class="featured-image" href="https://www.couchbase.com/blog/build-real-world-web-apps-couchbase/" rel="bookmark"><img width="800" height="280" src="https://www.couchbase.com/blog/wp-content/uploads/sites/1/2023/08/image1-800x280.png" class="attachment-paperback-nav-thumb size-paperback-nav-thumb wp-post-image" alt="How to Build Real World Web Applications with Couchbase" decoding="async" fetchpriority="high" /></a> <!-- Post title and categories --> <div class="grid-text"> <div class="grid-text-wrapper"> <div class=" grid-cats"><a href="https://www.couchbase.com/blog/category/dotnet/">.NET</a><a href="https://www.couchbase.com/blog/category/application-design/">Application Design</a><a href="https://www.couchbase.com/blog/category/couchbase-sdk/">Couchbase SDK</a></div> <h3 class="entry-title"><a href="https://www.couchbase.com/blog/build-real-world-web-apps-couchbase/" rel="bookmark">How to Build Real World Web Applications with Couchbase</a></h3> <p>One great benefit of open-source projects lies in their ability to encourage a diverse and collaborative learning environment. They allow developers from different backgrounds to compare and contrast methodologies, and most importantly, learn from each other. One such open-source initiative,...</p> </div> <div class="grid-date"> <a href="https://www.couchbase.com/blog/author/matthew-groves/">Matthew Groves</a> <span class="date">August 3, 2023</span> </div> </div><!-- .grid-text --> </div><!-- .post --> <div id="post-11930" class="grid-thumb post post-11930 type-post status-publish format-standard has-post-thumbnail hentry category-best-practices-and-tutorials category-couchbase-sdk category-couchbase-server category-full-text-search category-indexing category-javascript category-node-js category-text-analysis tag-document-database tag-express tag-fts tag-full-text-search tag-javascript tag-json tag-node-js tag-rest-api tag-sql"> <a class="featured-image" href="https://www.couchbase.com/blog/how-to-full-text-search-javascript-app/" rel="bookmark"><img width="800" height="280" src="https://www.couchbase.com/blog/wp-content/uploads/sites/1/2021/09/full-text-search-fts-functionality-javascript-nodejs-app-800x280.jpg" class="attachment-paperback-nav-thumb size-paperback-nav-thumb wp-post-image" alt="How to Add Full-Text Search Functionality to Your JavaScript App" decoding="async" /></a> <!-- Post title and categories --> <div class="grid-text"> <div class="grid-text-wrapper"> <div class=" grid-cats"><a href="https://www.couchbase.com/blog/category/best-practices-and-tutorials/">Best Practices and Tutorials</a><a href="https://www.couchbase.com/blog/category/couchbase-sdk/">Couchbase SDK</a><a href="https://www.couchbase.com/blog/category/couchbase-server/">Couchbase Server</a></div> <h3 class="entry-title"><a href="https://www.couchbase.com/blog/how-to-full-text-search-javascript-app/" rel="bookmark">How to Add Full-Text Search Functionality to Your JavaScript App</a></h3> <p>It&#8217;s unavoidable: If you&#8217;re working with a document database, you&#8217;re eventually going to need to search for (and through) your JSON documents. In this tutorial, you&#8217;ll add the full-text search capabilities of Couchbase to the basic REST API built with...</p> </div> <div class="grid-date"> <a href="https://www.couchbase.com/blog/author/tylermitchell/">Tyler Mitchell - Senior Product Marketing Manager</a> <span class="date">September 20, 2021</span> </div> </div><!-- .grid-text --> </div><!-- .post --> <div id="post-11742" class="grid-thumb post post-11742 type-post status-publish format-standard has-post-thumbnail hentry category-couchbase-sdk category-javascript category-node-js category-scopes-and-collections tag-async-function tag-document-database tag-express tag-javascript tag-json tag-node-js tag-node-js-sdk tag-nosql tag-rest-api"> <a class="featured-image" href="https://www.couchbase.com/blog/build-a-rest-api-with-node-js-express-and-couchbase/" rel="bookmark"><img width="800" height="280" src="https://www.couchbase.com/blog/wp-content/uploads/sites/1/2021/08/how-to-build-rest-api-based-application-nodejs-express-couchbase-800x280.png" class="attachment-paperback-nav-thumb size-paperback-nav-thumb wp-post-image" alt="Build a REST-Based Application with Node.js, Express and Couchbase" decoding="async" /></a> <!-- Post title and categories --> <div class="grid-text"> <div class="grid-text-wrapper"> <div class=" grid-cats"><a href="https://www.couchbase.com/blog/category/couchbase-sdk/">Couchbase SDK</a><a href="https://www.couchbase.com/blog/category/javascript/">JavaScript</a><a href="https://www.couchbase.com/blog/category/node-js/">Node.js</a></div> <h3 class="entry-title"><a href="https://www.couchbase.com/blog/build-a-rest-api-with-node-js-express-and-couchbase/" rel="bookmark">Build a REST-Based Application with Node.js, Express and Couchbase</a></h3> <p>If you&#8217;re new to Node.js, Couchbase or both, you&#8217;re about to level up your skills. Today I&#8217;ll show you how to build a minimal REST-based application for retrieving documents from Couchbase using Node.js and Express. This post continues my introductory...</p> </div> <div class="grid-date"> <a href="https://www.couchbase.com/blog/author/tylermitchell/">Tyler Mitchell - Senior Product Marketing Manager</a> <span class="date">September 6, 2021</span> </div> </div><!-- .grid-text --> </div><!-- .post --> <div id="post-8219" class="grid-thumb post post-8219 type-post status-publish format-standard has-post-thumbnail hentry category-couchbase-sdk category-couchbase-server category-node-js category-n1ql-query tag-couchbase-sdk tag-express tag-express-framework tag-graphql tag-graphiql tag-node-js-sdk tag-react"> <a class="featured-image" href="https://www.couchbase.com/blog/fullstack-react-express-2/" rel="bookmark"><img width="800" height="280" src="https://www.couchbase.com/blog/wp-content/uploads/sites/1/2020/02/express-graphql-800x280.jpg" class="attachment-paperback-nav-thumb size-paperback-nav-thumb wp-post-image" alt="Fullstack React and GraphQL : Express Server" decoding="async" loading="lazy" /></a> <!-- Post title and categories --> <div class="grid-text"> <div class="grid-text-wrapper"> <div class=" grid-cats"><a href="https://www.couchbase.com/blog/category/couchbase-sdk/">Couchbase SDK</a><a href="https://www.couchbase.com/blog/category/couchbase-server/">Couchbase Server</a><a href="https://www.couchbase.com/blog/category/node-js/">Node.js</a></div> <h3 class="entry-title"><a href="https://www.couchbase.com/blog/fullstack-react-express-2/" rel="bookmark">Fullstack React and GraphQL : Express Server</a></h3> <p>The second of three articles focused on building Fullstack React and GraphQL with Express and Couchbase Server. Setting up a NoSQL Couchbase Server (Part 1) Building an Express-GraphQL API (Part 2) Create Apollo GraphQL Client in React (Part 3) Final...</p> </div> <div class="grid-date"> <a href="https://www.couchbase.com/blog/author/eric-bishard/">Eric Bishard</a> <span class="date">February 28, 2020</span> </div> </div><!-- .grid-text --> </div><!-- .post --> <div id="post-5538" class="grid-thumb post post-5538 type-post status-publish format-standard has-post-thumbnail hentry category-best-practices-and-tutorials category-couchbase-server category-node-js category-n1ql-query tag-couchbase-server tag-express tag-full-stack tag-n1ql tag-node-js tag-tutorial tag-vue-js"> <a class="featured-image" href="https://www.couchbase.com/blog/tutorial-points-interest-app-vuejs-nodejs-express-couchbase-server/" rel="bookmark"><img width="800" height="280" src="https://www.couchbase.com/blog/wp-content/uploads/sites/1/2018/07/F_of_CB.eq_.POI_-800x280.gif" class="attachment-paperback-nav-thumb size-paperback-nav-thumb wp-post-image" alt="Tutorial: Build a Points of Interest App with Vue.js, Node.js, Express, and Couchbase Server" decoding="async" loading="lazy" /></a> <!-- Post title and categories --> <div class="grid-text"> <div class="grid-text-wrapper"> <div class=" grid-cats"><a href="https://www.couchbase.com/blog/category/best-practices-and-tutorials/">Best Practices and Tutorials</a><a href="https://www.couchbase.com/blog/category/couchbase-server/">Couchbase Server</a><a href="https://www.couchbase.com/blog/category/node-js/">Node.js</a></div> <h3 class="entry-title"><a href="https://www.couchbase.com/blog/tutorial-points-interest-app-vuejs-nodejs-express-couchbase-server/" rel="bookmark">Tutorial: Build a Points of Interest App with Vue.js, Node.js, Express, and Couchbase Server</a></h3> <p>Introduction In this tutorial, we鈥檒l build a full stack application using Vue.js, Node.js, Express, and Couchbase Server. In addition to those frameworks, we鈥檒l use the Google Maps and Here Places REST APIs. Tl;dr clone the repo here. Contents What We鈥檒l...</p> </div> <div class="grid-date"> <a href="https://www.couchbase.com/blog/author/hod-greeley/">Hod Greeley, Developer Advocate, Couchbase</a> <span class="date">July 26, 2018</span> </div> </div><!-- .grid-text --> </div><!-- .post --> <div id="post-2784" class="grid-thumb post post-2784 type-post status-publish format-standard has-post-thumbnail hentry category-couchbase-server category-node-js tag-api tag-express tag-javascript tag-mongodb tag-mongoose tag-ottoman tag-restful"> <a class="featured-image" href="https://www.couchbase.com/blog/migrate-mongodb-mongoose-couchbase-ottoman/" rel="bookmark"><img width="800" height="280" src="https://www.couchbase.com/blog/wp-content/uploads/sites/1/2017/02/mongo-to-couchbase-800x280.png" class="attachment-paperback-nav-thumb size-paperback-nav-thumb wp-post-image" alt="Migrate from MongoDB Mongoose to Couchbase with Ottoman" decoding="async" loading="lazy" srcset="https://www.couchbase.com/blog/wp-content/uploads/sites/1/2017/02/mongo-to-couchbase-800x280.png 800w, https://www.couchbase.com/blog/wp-content/uploads/sites/1/2017/02/mongo-to-couchbase-300x106.png 300w, https://www.couchbase.com/blog/wp-content/uploads/sites/1/2017/02/mongo-to-couchbase-20x7.png 20w" sizes="(max-width: 800px) 100vw, 800px" /></a> <!-- Post title and categories --> <div class="grid-text"> <div class="grid-text-wrapper"> <div class=" grid-cats"><a href="https://www.couchbase.com/blog/category/couchbase-server/">Couchbase Server</a><a href="https://www.couchbase.com/blog/category/node-js/">Node.js</a></div> <h3 class="entry-title"><a href="https://www.couchbase.com/blog/migrate-mongodb-mongoose-couchbase-ottoman/" rel="bookmark">Migrate from MongoDB Mongoose to Couchbase with Ottoman</a></h3> <p>When talking to Node.js developers, it is common to hear about NoSQL as the database of choice for development. JavaScript and JSON come hand in hand because after all JSON stands for JavaScript Object Notation. This is a format most...</p> </div> <div class="grid-date"> <a href="https://www.couchbase.com/blog/author/nic-raboy-2/">Nic Raboy, Developer Advocate, Couchbase</a> <span class="date">February 20, 2017</span> </div> </div><!-- .grid-text --> </div><!-- .post --> <div id="post-2407" class="grid-thumb post post-2407 type-post status-publish format-standard has-post-thumbnail hentry category-couchbase-server category-node-js category-n1ql-query tag-api tag-express tag-query tag-restful tag-sql"> <a class="featured-image" href="https://www.couchbase.com/blog/developing-an-api-with-nodejs-using-couchbase-nosql-and-n1ql/" rel="bookmark"><img width="800" height="280" src="https://www.couchbase.com/blog/wp-content/uploads/sites/1/2022/11/couchbase-nosql-dbaas-800x280.png" class="attachment-paperback-nav-thumb size-paperback-nav-thumb wp-post-image default-featured-img" alt="Developing an API with Node.js using Couchbase NoSQL and N1QL" decoding="async" loading="lazy" srcset="https://www.couchbase.com/blog/wp-content/uploads/sites/1/2022/11/couchbase-nosql-dbaas-800x280.png 800w, https://www.couchbase.com/blog/wp-content/uploads/sites/1/2022/11/couchbase-nosql-dbaas-300x105.png 300w, https://www.couchbase.com/blog/wp-content/uploads/sites/1/2022/11/couchbase-nosql-dbaas-1024x358.png 1024w, https://www.couchbase.com/blog/wp-content/uploads/sites/1/2022/11/couchbase-nosql-dbaas-768x269.png 768w, https://www.couchbase.com/blog/wp-content/uploads/sites/1/2022/11/couchbase-nosql-dbaas-1536x538.png 1536w, https://www.couchbase.com/blog/wp-content/uploads/sites/1/2022/11/couchbase-nosql-dbaas-20x7.png 20w, https://www.couchbase.com/blog/wp-content/uploads/sites/1/2022/11/couchbase-nosql-dbaas-1320x462.png 1320w, https://www.couchbase.com/blog/wp-content/uploads/sites/1/2022/11/couchbase-nosql-dbaas.png 1800w" sizes="(max-width: 800px) 100vw, 800px" /></a> <!-- Post title and categories --> <div class="grid-text"> <div class="grid-text-wrapper"> <div class=" grid-cats"><a href="https://www.couchbase.com/blog/category/couchbase-server/">Couchbase Server</a><a href="https://www.couchbase.com/blog/category/node-js/">Node.js</a><a href="https://www.couchbase.com/blog/category/n1ql-query/">SQL++ / N1QL Query</a></div> <h3 class="entry-title"><a href="https://www.couchbase.com/blog/developing-an-api-with-nodejs-using-couchbase-nosql-and-n1ql/" rel="bookmark">Developing an API with Node.js using Couchbase NoSQL and N1QL</a></h3> <p>Have you ever wanted to create a RESTful API with Node.js, but wasn&#8217;t sure where to start? 聽How do you design your endpoints or interact with the data layer? 聽How do you store your data? In this, start to finish,...</p> </div> <div class="grid-date"> <a href="https://www.couchbase.com/blog/author/nic-raboy-2/">Nic Raboy, Developer Advocate, Couchbase</a> <span class="date">October 5, 2016</span> </div> </div><!-- .grid-text --> </div><!-- .post --> <div id="post-1544" class="grid-thumb post post-1544 type-post status-publish format-standard has-post-thumbnail hentry category-uncategorized tag-express tag-node-js"> <a class="featured-image" href="https://www.couchbase.com/blog/couchbase-connect-2014-keynote-demo-application-how-we-did-it/" rel="bookmark"><img width="800" height="280" src="https://www.couchbase.com/blog/wp-content/uploads/sites/1/2022/11/couchbase-nosql-dbaas-800x280.png" class="attachment-paperback-nav-thumb size-paperback-nav-thumb wp-post-image default-featured-img" alt="Couchbase Connect 2014 Keynote Demo Application &#8211; How We Did It" decoding="async" loading="lazy" srcset="https://www.couchbase.com/blog/wp-content/uploads/sites/1/2022/11/couchbase-nosql-dbaas-800x280.png 800w, https://www.couchbase.com/blog/wp-content/uploads/sites/1/2022/11/couchbase-nosql-dbaas-300x105.png 300w, https://www.couchbase.com/blog/wp-content/uploads/sites/1/2022/11/couchbase-nosql-dbaas-1024x358.png 1024w, https://www.couchbase.com/blog/wp-content/uploads/sites/1/2022/11/couchbase-nosql-dbaas-768x269.png 768w, https://www.couchbase.com/blog/wp-content/uploads/sites/1/2022/11/couchbase-nosql-dbaas-1536x538.png 1536w, https://www.couchbase.com/blog/wp-content/uploads/sites/1/2022/11/couchbase-nosql-dbaas-20x7.png 20w, https://www.couchbase.com/blog/wp-content/uploads/sites/1/2022/11/couchbase-nosql-dbaas-1320x462.png 1320w, https://www.couchbase.com/blog/wp-content/uploads/sites/1/2022/11/couchbase-nosql-dbaas.png 1800w" sizes="(max-width: 800px) 100vw, 800px" /></a> <!-- Post title and categories --> <div class="grid-text"> <div class="grid-text-wrapper"> <div class=" grid-cats"><a href="https://www.couchbase.com/blog/category/uncategorized/">Uncategorized</a></div> <h3 class="entry-title"><a href="https://www.couchbase.com/blog/couchbase-connect-2014-keynote-demo-application-how-we-did-it/" rel="bookmark">Couchbase Connect 2014 Keynote Demo Application &#8211; How We Did It</a></h3> <p>Node.js + Couchbase 3.0 + SDK 2.0 + Bootstrap Requirements When it came time to build a product demonstration for the Couchbase Connect Conference the following requirements were established: [1] It must be a live demo, with audience participation &#8212;...</p> </div> <div class="grid-date"> <a href="https://www.couchbase.com/blog/author/todd-greenstein/">Todd Greenstein</a> <span class="date">December 17, 2014</span> </div> </div><!-- .grid-text --> </div><!-- .post --> </div><!-- .grid-wrapper --> </div><!-- #post-wrapper --> </main><!-- #main --> </section><!-- #primary --> <div data-rocket-location-hash="1284977d5ac9276a210205004c4ec678" id="secondary" class="widget-area"> <aside id="search-3" class="widget widget_search"><h2 class="widget-title">Search our blog</h2> <form role="search" method="get" id="searchform" class="searchform" action="https://www.couchbase.com/blog/"> <div> <label class="screen-reader-text" for="s">Search for:</label> <input type="text" value="" name="s" id="s" class="search-input" placeholder="Search here..." /> <button type="submit" id="searchsubmit"> <i class="fa fa-search"></i> <span>Search</span> </button> </div> </form></aside><aside id="media_image-5" class="widget widget_media_image"><a href="https://info.couchbase.com/master-ai-at-the-edge-with-mobile-sync-search-and-security-2024november"><img width="733" height="1139" src="https://www.couchbase.com/blog/wp-content/uploads/sites/1/2024/11/Prog2-Blog-Ad-732x1138-1.jpg" class="image wp-image-16553 attachment-full size-full" alt="" style="max-width: 100%; height: auto;" decoding="async" loading="lazy" srcset="https://www.couchbase.com/blog/wp-content/uploads/sites/1/2024/11/Prog2-Blog-Ad-732x1138-1.jpg 733w, https://www.couchbase.com/blog/wp-content/uploads/sites/1/2024/11/Prog2-Blog-Ad-732x1138-1-193x300.jpg 193w, https://www.couchbase.com/blog/wp-content/uploads/sites/1/2024/11/Prog2-Blog-Ad-732x1138-1-659x1024.jpg 659w, https://www.couchbase.com/blog/wp-content/uploads/sites/1/2024/11/Prog2-Blog-Ad-732x1138-1-300x466.jpg 300w" sizes="(max-width: 733px) 100vw, 733px" /></a></aside><aside id="media_image-6" class="widget widget_media_image"><a href="https://www.couchbase.com/couchbase-capella-test-drive/"><img width="732" height="1138" src="https://www.couchbase.com/blog/wp-content/uploads/sites/1/2024/06/732x1138-CB-Blog-2.png" class="image wp-image-15871 attachment-full size-full" alt="" style="max-width: 100%; height: auto;" decoding="async" loading="lazy" srcset="https://www.couchbase.com/blog/wp-content/uploads/sites/1/2024/06/732x1138-CB-Blog-2.png 732w, https://www.couchbase.com/blog/wp-content/uploads/sites/1/2024/06/732x1138-CB-Blog-2-193x300.png 193w, https://www.couchbase.com/blog/wp-content/uploads/sites/1/2024/06/732x1138-CB-Blog-2-659x1024.png 659w, https://www.couchbase.com/blog/wp-content/uploads/sites/1/2024/06/732x1138-CB-Blog-2-300x466.png 300w" sizes="(max-width: 732px) 100vw, 732px" /></a></aside> <aside id="recent-posts-2" class="widget widget_recent_entries"> <h2 class="widget-title">Recent Posts</h2> <ul> <li> <a href="https://www.couchbase.com/blog/what-is-an-ai-agent/">What is an AI Agent? An Explainer</a> </li> <li> <a href="https://www.couchbase.com/blog/capella-iq-insights/">New Capella iQ Insights: Turn Data Into Actionable Insights</a> </li> <li> <a href="https://www.couchbase.com/blog/agentic-ai/">Everything You Need to Know About Agentic AI</a> </li> <li> <a href="https://www.couchbase.com/blog/2024-customer-impact-awards/">2024 Couchbase Customer Impact Awards</a> </li> <li> <a href="https://www.couchbase.com/blog/revolucionando-varejo-com-couchbase-e-google-ai/">Transformando Experi锚ncias no Varejo com Couchbase Mobile e Google GenAI</a> </li> </ul> </aside><aside id="custom_html-12" class="widget_text widget widget_custom_html"><h2 class="widget-title">Top Posts</h2><div class="textwidget custom-html-widget"><ul class="wpp-list"> <li class=""> <a href="https://www.couchbase.com/blog/app-development-costs/" class="wpp-post-title" target="_self" rel="noopener">App Development Costs (A Breakdown)</a> <span class="wpp-meta post-stats"></span></li> <li class=""> <a href="https://www.couchbase.com/blog/conceptual-physical-logical-data-models/" class="wpp-post-title" target="_self" rel="noopener">Data Modeling Explained: Conceptual, Physical, Logical</a> <span class="wpp-meta post-stats"></span></li> <li class=""> <a href="https://www.couchbase.com/blog/what-is-data-analysis/" class="wpp-post-title" target="_self" rel="noopener">What Is Data Analysis? Types, Methods, and Tools for Research</a> <span class="wpp-meta post-stats"></span></li> <li class=""> <a href="https://www.couchbase.com/blog/data-analysis-methods/" class="wpp-post-title" target="_self" rel="noopener">Data Analysis Methods: Qualitative vs. Quantitative Techniques</a> <span class="wpp-meta post-stats"></span></li> <li class=""> <a href="https://www.couchbase.com/blog/transactional-databases/" class="wpp-post-title" target="_self" rel="noopener">What is a Transactional Database?</a> <span class="wpp-meta post-stats"></span></li> </ul></div></aside><aside id="categories-2" class="widget widget_categories"><h2 class="widget-title">Blog Topics</h2><form action="https://www.couchbase.com/blog" method="get"><label class="screen-reader-text" for="cat">Blog Topics</label><select name='cat' id='cat' class='postform'> <option value='-1'>Select Topic</option> <option class="level-0" value="1811">.NET</option> <option class="level-0" value="2294">Analytics</option> <option class="level-0" value="2370">Android</option> <option class="level-0" value="1814">Application Design</option> <option class="level-0" value="9416">Backup</option> <option class="level-0" value="1815">Best Practices and Tutorials</option> <option class="level-0" value="9986">C++</option> <option class="level-0" value="2381">Community</option> <option class="level-0" value="3917">Company</option> <option class="level-0" value="2242">Connectors</option> <option class="level-0" value="1821">Couchbase Architecture</option> <option class="level-0" value="9284">Couchbase Autonomous Operator</option> <option class="level-0" value="2225">Couchbase Capella</option> <option class="level-0" value="9385">Couchbase Connect</option> <option class="level-0" value="8905">Couchbase Global Secondary Index</option> <option class="level-0" value="7667">Couchbase Lite</option> <option class="level-0" value="1810">Couchbase Mobile</option> <option class="level-0" value="2201">Couchbase SDK</option> <option class="level-0" value="1816">Couchbase Server</option> <option class="level-0" value="3918">Culture</option> <option class="level-0" value="6319">Customers</option> <option class="level-0" value="1819">Data Modeling</option> <option class="level-0" value="7666">Edge computing</option> <option class="level-0" value="2273">Eventing</option> <option class="level-0" value="3919">Executive</option> <option class="level-0" value="2371">Flutter</option> <option class="level-0" value="2165">Full-Text Search</option> <option class="level-0" value="9973">Generative AI (GenAI)</option> <option class="level-0" value="8683">Geospatial</option> <option class="level-0" value="2453">Global Secondary Index</option> <option class="level-0" value="1820">GoLang</option> <option class="level-0" value="9381">Indexing</option> <option class="level-0" value="1818">Java</option> <option class="level-0" value="9327">JavaScript</option> <option class="level-0" value="9593">Kotlin</option> <option class="level-0" value="2322">Kubernetes</option> <option class="level-0" value="9374">License</option> <option class="level-0" value="2334">Monitoring</option> <option class="level-0" value="9411">Multi-Dimensional Scaling</option> <option class="level-0" value="1822">Node.js</option> <option class="level-0" value="9410">Objective-C</option> <option class="level-0" value="9921">Partners</option> <option class="level-0" value="9417">Performance</option> <option class="level-0" value="9408">PHP</option> <option class="level-0" value="9139">Python</option> <option class="level-0" value="9407">Ruby</option> <option class="level-0" value="9140">Rust</option> <option class="level-0" value="9141">Scala</option> <option class="level-0" value="9336">Scopes and Collections</option> <option class="level-0" value="9936">Search</option> <option class="level-0" value="1813">Security</option> <option class="level-0" value="2389">Solutions</option> <option class="level-0" value="6342">Spring</option> <option class="level-0" value="6343">Spring Boot</option> <option class="level-0" value="1812">SQL++ / N1QL Query</option> <option class="level-0" value="9409">Swift</option> <option class="level-0" value="2366">Sync Gateway</option> <option class="level-0" value="7277">Text Analysis</option> <option class="level-0" value="2396">Transactions</option> <option class="level-0" value="1">Uncategorized</option> <option class="level-0" value="9375">Upgrades</option> <option class="level-0" value="9937">Vector Search</option> <option class="level-0" value="2351">Xamarin</option> <option class="level-0" value="9415">XDCR</option> </select> </form><script type="rocketlazyloadscript" data-rocket-type="text/javascript"> /* <![CDATA[ */ (function() { var dropdown = document.getElementById( "cat" ); function onCatChange() { if ( dropdown.options[ dropdown.selectedIndex ].value > 0 ) { dropdown.parentNode.submit(); } } dropdown.onchange = onCatChange; })(); /* ]]> */ </script> </aside> </div><!-- #secondary .widget-area --> </div> </div> <!-- Promotion banner --> <section data-rocket-location-hash="0e760e82aee64090b5281ce66c5c93a0" class="promotion-banner promotion-banner-blue"> <div data-rocket-location-hash="68e122c6b23b4519e49c5a2a57b5f054" class="container"> <div data-rocket-location-hash="c2ab0f5797be862475e1205d87b90148" class="flex justify-center align-center flex-wrap flex-coloumn"> <div class='promotion-banner-title'>Stay informed about Couchbase Blogs</div> <div class=" mailpoet_form_popup_overlay "></div> <div id="mailpoet_form_3" class=" mailpoet_form mailpoet_form_shortcode mailpoet_form_position_ mailpoet_form_animation_ " > <style type="text/css"> #mailpoet_form_3 .mailpoet_form { } #mailpoet_form_3 .mailpoet_column_with_background { padding: 10px; } #mailpoet_form_3 .mailpoet_form_column:not(:first-child) { margin-left: 20px; } #mailpoet_form_3 .mailpoet_paragraph { line-height: 20px; margin-bottom: 20px; } #mailpoet_form_3 .mailpoet_segment_label, #mailpoet_form_3 .mailpoet_text_label, #mailpoet_form_3 .mailpoet_textarea_label, #mailpoet_form_3 .mailpoet_select_label, #mailpoet_form_3 .mailpoet_radio_label, #mailpoet_form_3 .mailpoet_checkbox_label, #mailpoet_form_3 .mailpoet_list_label, #mailpoet_form_3 .mailpoet_date_label { display: block; font-weight: normal; } #mailpoet_form_3 .mailpoet_text, #mailpoet_form_3 .mailpoet_textarea, #mailpoet_form_3 .mailpoet_select, #mailpoet_form_3 .mailpoet_date_month, #mailpoet_form_3 .mailpoet_date_day, #mailpoet_form_3 .mailpoet_date_year, #mailpoet_form_3 .mailpoet_date { display: block; } #mailpoet_form_3 .mailpoet_text, #mailpoet_form_3 .mailpoet_textarea { width: 200px; } #mailpoet_form_3 .mailpoet_checkbox { } #mailpoet_form_3 .mailpoet_submit { } #mailpoet_form_3 .mailpoet_divider { } #mailpoet_form_3 .mailpoet_message { } #mailpoet_form_3 .mailpoet_form_loading { width: 30px; text-align: center; line-height: normal; } #mailpoet_form_3 .mailpoet_form_loading > span { width: 5px; height: 5px; background-color: #5b5b5b; }#mailpoet_form_3{border-radius: 0px;text-align: left;}#mailpoet_form_3 form.mailpoet_form {padding: 20px;}#mailpoet_form_3{width: 100%;}#mailpoet_form_3 .mailpoet_message {margin: 0; padding: 0 20px;}#mailpoet_form_3 .mailpoet_paragraph.last {margin-bottom: 0} @media (max-width: 500px) {#mailpoet_form_3 {background-image: none;}} @media (min-width: 500px) {#mailpoet_form_3 .last .mailpoet_paragraph:last-child {margin-bottom: 0}} @media (max-width: 500px) {#mailpoet_form_3 .mailpoet_form_column:last-child .mailpoet_paragraph:last-child {margin-bottom: 0}} </style> <form target="_self" method="post" action="https://www.couchbase.com/blog/wp-admin/admin-post.php?action=mailpoet_subscription_form" class="mailpoet_form mailpoet_form_form mailpoet_form_shortcode" novalidate data-delay="" data-exit-intent-enabled="" data-font-family="" data-cookie-expiration-time="" > <input type="hidden" name="data[form_id]" value="3" /> <input type="hidden" name="token" value="05a6784353" /> <input type="hidden" name="api_version" value="v1" /> <input type="hidden" name="endpoint" value="subscribers" /> <input type="hidden" name="mailpoet_method" value="subscribe" /> <label class="mailpoet_hp_email_label" style="display: none !important;">Please leave this field empty<input type="email" name="data[email]"/></label><div class='mailpoet_form_columns_container'><div class="mailpoet_form_columns mailpoet_paragraph mailpoet_stack_on_mobile"><div class="mailpoet_form_column" style="flex-basis:100%;"><div class="mailpoet_paragraph "><label for="form_email_3" class="mailpoet_text_label" data-automation-id="form_email_label" >Email <span class="mailpoet_required" aria-hidden="true">*</span></label><input type="email" autocomplete="email" class="mailpoet_text" id="form_email_3" name="data[form_field_NWQ2NjcyODkxZWY1X2VtYWls]" title="Email" value="" style="width:100%;box-sizing:border-box;padding:5px;margin: 0 auto 0 0;" data-automation-id="form_email" data-parsley-errors-container=".mailpoet_error_1m2qc" data-parsley-required="true" required aria-required="true" data-parsley-minlength="6" data-parsley-maxlength="150" data-parsley-type-message="This value should be a valid email." data-parsley-required-message="This field is required."/><span class="mailpoet_error_1m2qc"></span></div> <div class="mailpoet_paragraph "><fieldset><input type="hidden" value="1" name="data[cf_1]" /><label class="mailpoet_checkbox_label" for="mailpoet_checkbox_1" ><input type="checkbox" class="mailpoet_checkbox" id="mailpoet_checkbox_1" name="data[cf_1]" value="1" data-parsley-errors-container=".mailpoet_error_kok9b" data-parsley-required="true" required aria-required="true" data-parsley-required-message="This field is required." data-parsley-group="custom_field_1" /> By checking this box, you acknowledge our <a href="https://www.couchbase.com/privacy-policy/" target="_blank">Privacy Policy</a>. You may unsubscribe at any time.</label></fieldset><span class="mailpoet_error_kok9b"></span></div> </div> </div></div> <div class="mailpoet_recaptcha" data-sitekey="6Le6oqUhAAAAAMLYrNBqdvBFuynXWkoDTMjTu5Tt" > <div class="mailpoet_recaptcha_container"></div> <noscript> <div> <div class="mailpoet_recaptcha_noscript_container"> <div> <iframe src="https://www.google.com/recaptcha/api/fallback?k=6Le6oqUhAAAAAMLYrNBqdvBFuynXWkoDTMjTu5Tt" frameborder="0" scrolling="no"> </iframe> </div> </div> <div class="mailpoet_recaptcha_noscript_input"> <textarea id="g-recaptcha-response" name="data[recaptcha]" class="g-recaptcha-response"> </textarea> </div> </div> </noscript> <input class="mailpoet_recaptcha_field" type="hidden" name="recaptchaWidgetId"> </div><div class="parsley-errors-list parsley-required mailpoet_error_recaptcha">This field is required.</div><div class="mailpoet_paragraph "><input type="submit" class="mailpoet_submit" value="Subscribe!" data-automation-id="subscribe-submit-button" style="width:100%;box-sizing:border-box;padding:5px;margin: 0 auto 0 0;border-color:transparent;" /><span class="mailpoet_form_loading"><span class="mailpoet_bounce1"></span><span class="mailpoet_bounce2"></span><span class="mailpoet_bounce3"></span></span></div> <div class="mailpoet_message"> <p class="mailpoet_validate_success" style="display:none;" >Check your inbox or spam folder to confirm your subscription. </p> <p class="mailpoet_validate_error" style="display:none;" > </p> </div> </form> </div> </div> </div> </section> <footer data-rocket-location-hash="6aad127fdf9d5c47a432a7de8a858c62" id="colophon" class="site-footer dev-cb-footer" role="contentinfo"> <!-- Footer design as developer couchbase --> <div data-rocket-location-hash="5b3e40d6b30e5cd3c0fb59fa7bc387f5" class="wrapper"> <div data-rocket-location-hash="60f8802457c5aa97284567b2e0161b3d" class="footer-links flex flex-wrap"> <div class="footer-logo w-full md:w-1/4 mb-4"> <a href="https://www.couchbase.com/"> <img src="https://www.couchbase.com/blog/wp-content/themes/couchbase/images/Couchbase-R-B.svg" alt="Couchbase" width="203" height="47"> </a> </div> <aside id="nav_menu-6" class="widget w-1/2 md:w-1/4 mb-4 widget_nav_menu"><div class="menu-footercol-1-container"><ul id="menu-footercol-1" class="menu"><li id="menu-item-11108" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-11108"><a target="_blank" rel="noopener" href="https://docs.couchbase.com/">Documentation</a></li> <li id="menu-item-11109" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-11109"><a href="https://www.couchbase.com/downloads/">Downloads</a></li> <li id="menu-item-11110" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-11110"><a target="_blank" rel="noopener" href="https://www.couchbase.com/forums/">Forums</a></li> <li id="menu-item-11111" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-home menu-item-11111"><a href="https://www.couchbase.com/blog/">Blog</a></li> <li id="menu-item-11112" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-11112"><a href="https://www.couchbase.com/resources/">Resources</a></li> </ul></div></aside><aside id="nav_menu-3" class="widget w-1/2 md:w-1/4 mb-4 widget_nav_menu"><div class="menu-footercol-2-container"><ul id="menu-footercol-2" class="menu"><li id="menu-item-11103" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-11103"><a target="_blank" rel="noopener" href="https://support.couchbase.com/">Support Login</a></li> <li id="menu-item-11104" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-11104"><a target="_blank" rel="noopener" href="https://learn.couchbase.com/store/?utf8=%E2%9C%93&#038;ss=1&#038;ct=78327&#038;commit=Filter">Training</a></li> <li id="menu-item-11105" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-11105"><a href="https://www.couchbase.com/careers/">Careers</a></li> <li id="menu-item-11106" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-11106"><a href="https://www.couchbase.com/resources/webcasts-and-events/">Events</a></li> <li id="menu-item-11107" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-11107"><a target="_blank" rel="noopener" href="https://docs.couchbase.com/home/sdk.html">SDKs</a></li> </ul></div></aside><aside id="nav_menu-5" class="widget w-1/2 md:w-1/4 mb-4 widget_nav_menu"><div class="menu-footercol-3-container"><ul id="menu-footercol-3" class="menu"><li id="menu-item-11101" class="fa fa-twitter menu-item menu-item-type-custom menu-item-object-custom menu-item-11101"><a target="_blank" rel="noopener" href="https://twitter.com/couchbase/">Twitter</a></li> <li id="menu-item-11102" class="fa fa-linkedin-square menu-item menu-item-type-custom menu-item-object-custom menu-item-11102"><a target="_blank" rel="noopener" href="https://www.linkedin.com/company/couchbase/">LinkedIn</a></li> <li id="menu-item-11100" class="fa fa-github menu-item menu-item-type-custom menu-item-object-custom menu-item-11100"><a target="_blank" rel="noopener" href="https://github.com/couchbase/">Github</a></li> <li id="menu-item-11099" class="fa fa-stack-overflow menu-item menu-item-type-custom menu-item-object-custom menu-item-11099"><a target="_blank" rel="noopener" href="https://stackoverflow.com/tags/couchbase/info/">StackOverflow</a></li> </ul></div></aside> </div> <div data-rocket-location-hash="d7aff62a3013443de6aa46a603aa7608" class="footer-terms"> <div class='text-sm'> &copy; 2024 Couchbase, Inc. Couchbase and the Couchbase logo are registered trademarks of Couchbase, Inc. All third party trademarks (including logos and icons) referenced by Couchbase, Inc. remain the property of their respective owners. </div> <nav class="footer-terms-menu" role="navigation"> <div class="menu-footer-container"><ul id="menu-footer" class="menu"><li id="menu-item-1111" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1111"><a href="https://www.couchbase.com/terms-of-use/">Terms of Use</a></li> <li id="menu-item-1112" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1112"><a href="https://www.couchbase.com/privacy-policy/">Privacy Policy</a></li> <li id="menu-item-5199" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-5199"><a href="https://www.couchbase.com/cookie-policy/">Cookie Policy</a></li> <li id="menu-item-11118" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-11118"><a href="https://www.couchbase.com/support-policy/">Support Policy</a></li> <li id="menu-item-5200" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-5200"><a target="_blank" rel="noopener" href="https://info.couchbase.com/unsubscribe-or-manage-preferences.html">Marketing Preference Center</a></li> </ul></div> </nav><!-- .footer-navigation --> </div> </div> </footer><!-- #colophon --> <span class="scroll-top show"></span> <!-- GTM Container placement set to footer --> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://metrics.couchbase.com/ns.html?id=GTM-MVPNN2" height="0" width="0" style="display:none;visibility:hidden" aria-hidden="true"></iframe></noscript> <!-- End Google Tag Manager (noscript) --><script type="rocketlazyloadscript" data-rocket-type="text/javascript">var algolia = {"debug":false,"application_id":"NI1G57N08Q","search_api_key":"4b05a6fa0de7ca588c885b058f20130b","powered_by_enabled":false,"query":"","autocomplete":{"sources":[{"admin_name":"All posts","index_id":"searchable_posts","index_name":"newprod_searchable_posts","label":"All posts","max_suggestions":5,"position":1,"tmpl_suggestion":"autocomplete-post-suggestion","enabled":true}],"input_selector":"input[name='s']:not(.no-autocomplete):not(#adminbar-search)"},"indices":{"searchable_posts":{"name":"newprod_searchable_posts","id":"searchable_posts","enabled":true,"replicas":[]}}};</script> <script type="text/html" id="tmpl-autocomplete-header"> <div class="autocomplete-header"> <div class="autocomplete-header-title">{{{ data.label }}}</div> <div class="clear"></div> </div> </script> <script type="text/html" id="tmpl-autocomplete-post-suggestion"> <a class="suggestion-link" href="{{ data.permalink }}" title="{{ data.post_title }}"> <# if ( data.images.thumbnail ) { #> <img class="suggestion-post-thumbnail" src="{{ data.images.thumbnail.url }}" alt="{{ data.post_title }}"> <# } #> <div class="suggestion-post-attributes"> <span class="suggestion-post-title">{{{ data._highlightResult.post_title.value }}}</span> <# if ( data._snippetResult['content'] ) { #> <span class="suggestion-post-content">{{{ data._snippetResult['content'].value }}}</span> <# } #> </div> </a> </script> <script type="text/html" id="tmpl-autocomplete-term-suggestion"> <a class="suggestion-link" href="{{ data.permalink }}" title="{{ data.name }}"> <svg viewBox="0 0 21 21" width="21" height="21"> <svg width="21" height="21" viewBox="0 0 21 21"> <path d="M4.662 8.72l-1.23 1.23c-.682.682-.68 1.792.004 2.477l5.135 5.135c.7.693 1.8.688 2.48.005l1.23-1.23 5.35-5.346c.31-.31.54-.92.51-1.36l-.32-4.29c-.09-1.09-1.05-2.06-2.15-2.14l-4.3-.33c-.43-.03-1.05.2-1.36.51l-.79.8-2.27 2.28-2.28 2.27zm9.826-.98c.69 0 1.25-.56 1.25-1.25s-.56-1.25-1.25-1.25-1.25.56-1.25 1.25.56 1.25 1.25 1.25z" fill-rule="evenodd"></path> </svg> </svg> <span class="suggestion-post-title">{{{ data._highlightResult.name.value }}}</span> </a> </script> <script type="text/html" id="tmpl-autocomplete-user-suggestion"> <a class="suggestion-link user-suggestion-link" href="{{ data.posts_url }}" title="{{ data.display_name }}"> <# if ( data.avatar_url ) { #> <img class="suggestion-user-thumbnail" src="{{ data.avatar_url }}" alt="{{ data.display_name }}"> <# } #> <span class="suggestion-post-title">{{{ data._highlightResult.display_name.value }}}</span> </a> </script> <script type="text/html" id="tmpl-autocomplete-footer"> <div class="autocomplete-footer"> <div class="autocomplete-footer-branding"> <a href="#" class="algolia-powered-by-link" title="Algolia"> <svg width="150px" height="25px" viewBox="0 0 572 64"><path fill="#36395A" d="M16 48.3c-3.4 0-6.3-.6-8.7-1.7A12.4 12.4 0 0 1 1.9 42C.6 40 0 38 0 35.4h6.5a6.7 6.7 0 0 0 3.9 6c1.4.7 3.3 1.1 5.6 1.1 2.2 0 4-.3 5.4-1a7 7 0 0 0 3-2.4 6 6 0 0 0 1-3.4c0-1.5-.6-2.8-1.9-3.7-1.3-1-3.3-1.6-5.9-1.8l-4-.4c-3.7-.3-6.6-1.4-8.8-3.4a10 10 0 0 1-3.3-7.9c0-2.4.6-4.6 1.8-6.4a12 12 0 0 1 5-4.3c2.2-1 4.7-1.6 7.5-1.6s5.5.5 7.6 1.6a12 12 0 0 1 5 4.4c1.2 1.8 1.8 4 1.8 6.7h-6.5a6.4 6.4 0 0 0-3.5-5.9c-1-.6-2.6-1-4.4-1s-3.2.3-4.4 1c-1.1.6-2 1.4-2.6 2.4-.5 1-.8 2-.8 3.1a5 5 0 0 0 1.5 3.6c1 1 2.6 1.7 4.7 1.9l4 .3c2.8.2 5.2.8 7.2 1.8 2.1 1 3.7 2.2 4.9 3.8a9.7 9.7 0 0 1 1.7 5.8c0 2.5-.7 4.7-2 6.6a13 13 0 0 1-5.6 4.4c-2.4 1-5.2 1.6-8.4 1.6Zm35.6 0c-2.6 0-4.8-.4-6.7-1.3a13 13 0 0 1-4.7-3.5 17.1 17.1 0 0 1-3.6-10.4v-1c0-2 .3-3.8 1-5.6a13 13 0 0 1 7.3-8.3 15 15 0 0 1 6.3-1.4A13.2 13.2 0 0 1 64 24.3c1 2.2 1.6 4.6 1.6 7.2V34H39.4v-4.3h21.8l-1.8 2.2c0-2-.3-3.7-.9-5.1a7.3 7.3 0 0 0-2.7-3.4c-1.2-.7-2.7-1.1-4.6-1.1s-3.4.4-4.7 1.3a8 8 0 0 0-2.9 3.6c-.6 1.5-.9 3.3-.9 5.4 0 2 .3 3.7 1 5.3a7.9 7.9 0 0 0 2.8 3.7c1.3.8 3 1.3 5 1.3s3.8-.5 5.1-1.3c1.3-1 2.1-2 2.4-3.2h6a11.8 11.8 0 0 1-7 8.7 16 16 0 0 1-6.4 1.2ZM80 48c-2.2 0-4-.3-5.7-1a8.4 8.4 0 0 1-3.7-3.3 9.7 9.7 0 0 1-1.3-5.2c0-2 .5-3.8 1.5-5.2a9 9 0 0 1 4.3-3.1c1.8-.7 4-1 6.7-1H89v4.1h-7.5c-2 0-3.4.5-4.4 1.4-1 1-1.6 2.1-1.6 3.6s.5 2.7 1.6 3.6c1 1 2.5 1.4 4.4 1.4 1.1 0 2.2-.2 3.2-.7 1-.4 1.9-1 2.6-2 .6-1 1-2.4 1-4.2l1.7 2.1c-.2 2-.7 3.8-1.5 5.2a9 9 0 0 1-3.4 3.3 12 12 0 0 1-5.3 1Zm9.5-.7v-8.8h-1v-10c0-1.8-.5-3.2-1.4-4.1-1-1-2.4-1.4-4.2-1.4a142.9 142.9 0 0 0-10.2.4v-5.6a74.8 74.8 0 0 1 8.6-.4c3 0 5.5.4 7.5 1.2s3.4 2 4.4 3.6c1 1.7 1.4 4 1.4 6.7v18.4h-5Zm12.9 0V17.8h5v12.3h-.2c0-4.2 1-7.4 2.8-9.5a11 11 0 0 1 8.3-3.1h1v5.6h-2a9 9 0 0 0-6.3 2.2c-1.5 1.5-2.2 3.6-2.2 6.4v15.6h-6.4Zm34.4 1a15 15 0 0 1-6.6-1.3c-1.9-.9-3.4-2-4.7-3.5a15.5 15.5 0 0 1-2.7-5c-.6-1.7-1-3.6-1-5.4v-1c0-2 .4-3.8 1-5.6a15 15 0 0 1 2.8-4.9c1.3-1.5 2.8-2.6 4.6-3.5a16.4 16.4 0 0 1 13.3.2c2 1 3.5 2.3 4.8 4a12 12 0 0 1 2 6H144c-.2-1.6-1-3-2.2-4.1a7.5 7.5 0 0 0-5.2-1.7 8 8 0 0 0-4.7 1.3 8 8 0 0 0-2.8 3.6 13.8 13.8 0 0 0 0 10.3c.6 1.5 1.5 2.7 2.8 3.6s2.8 1.3 4.8 1.3c1.5 0 2.7-.2 3.8-.8a7 7 0 0 0 2.6-2c.7-1 1-2 1.2-3.2h6.2a11 11 0 0 1-2 6.2 15.1 15.1 0 0 1-11.8 5.5Zm19.7-1v-40h6.4V31h-1.3c0-3 .4-5.5 1.1-7.6a9.7 9.7 0 0 1 3.5-4.8A9.9 9.9 0 0 1 172 17h.3c3.5 0 6 1.1 7.9 3.5 1.7 2.3 2.6 5.7 2.6 10v16.8h-6.4V29.6c0-2.1-.6-3.8-1.8-5a6.4 6.4 0 0 0-4.8-1.8c-2 0-3.7.7-5 2a7.8 7.8 0 0 0-1.9 5.5v17h-6.4Zm63.8 1a12.2 12.2 0 0 1-10.9-6.2 19 19 0 0 1-1.8-7.3h1.4v12.5h-5.1v-40h6.4v19.8l-2 3.5c.2-3.1.8-5.7 1.9-7.7a11 11 0 0 1 4.4-4.5c1.8-1 3.9-1.5 6.1-1.5a13.4 13.4 0 0 1 12.8 9.1c.7 1.9 1 3.8 1 6v1c0 2.2-.3 4.1-1 6a13.6 13.6 0 0 1-13.2 9.4Zm-1.2-5.5a8.4 8.4 0 0 0 7.9-5c.7-1.5 1.1-3.3 1.1-5.3s-.4-3.8-1.1-5.3a8.7 8.7 0 0 0-3.2-3.6 9.6 9.6 0 0 0-9.2-.2 8.5 8.5 0 0 0-3.3 3.2c-.8 1.4-1.3 3-1.3 5v2.3a9 9 0 0 0 1.3 4.8 9 9 0 0 0 3.4 3c1.4.7 2.8 1 4.4 1Zm27.3 3.9-10-28.9h6.5l9.5 28.9h-6Zm-7.5 12.2v-5.7h4.9c1 0 2-.1 2.9-.4a4 4 0 0 0 2-1.4c.4-.7.9-1.6 1.2-2.7l8.6-30.9h6.2l-9.3 32.4a14 14 0 0 1-2.5 5 8.9 8.9 0 0 1-4 2.8c-1.5.6-3.4.9-5.6.9h-4.4Zm9-12.2v-5.2h6.4v5.2H248Z"></path><path fill="#003DFF" d="M534.4 9.1H528a.8.8 0 0 1-.7-.7V1.8c0-.4.2-.7.6-.8l6.5-1c.4 0 .8.2.9.6v7.8c0 .4-.4.7-.8.7zM428 35.2V.8c0-.5-.3-.8-.7-.8h-.2l-6.4 1c-.4 0-.7.4-.7.8v35c0 1.6 0 11.8 12.3 12.2.5 0 .8-.4.8-.8V43c0-.4-.3-.7-.6-.8-4.5-.5-4.5-6-4.5-7zm106.5-21.8H528c-.4 0-.7.4-.7.8v34c0 .4.3.8.7.8h6.5c.4 0 .8-.4.8-.8v-34c0-.5-.4-.8-.8-.8zm-17.7 21.8V.8c0-.5-.3-.8-.8-.8l-6.5 1c-.4 0-.7.4-.7.8v35c0 1.6 0 11.8 12.3 12.2.4 0 .8-.4.8-.8V43c0-.4-.3-.7-.7-.8-4.4-.5-4.4-6-4.4-7zm-22.2-20.6a16.5 16.5 0 0 1 8.6 9.3c.8 2.2 1.3 4.8 1.3 7.5a19.4 19.4 0 0 1-4.6 12.6 14.8 14.8 0 0 1-5.2 3.6c-2 .9-5.2 1.4-6.8 1.4a21 21 0 0 1-6.7-1.4 15.4 15.4 0 0 1-8.6-9.3 21.3 21.3 0 0 1 0-14.4 15.2 15.2 0 0 1 8.6-9.3c2-.8 4.3-1.2 6.7-1.2s4.6.4 6.7 1.2zm-6.7 27.6c2.7 0 4.7-1 6.2-3s2.2-4.3 2.2-7.8-.7-6.3-2.2-8.3-3.5-3-6.2-3-4.7 1-6.1 3c-1.5 2-2.2 4.8-2.2 8.3s.7 5.8 2.2 7.8 3.5 3 6.2 3zm-88.8-28.8c-6.2 0-11.7 3.3-14.8 8.2a18.6 18.6 0 0 0 4.8 25.2c1.8 1.2 4 1.8 6.2 1.7s.1 0 .1 0h.9c4.2-.7 8-4 9.1-8.1v7.4c0 .4.3.7.8.7h6.4a.7.7 0 0 0 .7-.7V14.2c0-.5-.3-.8-.7-.8h-13.5zm6.3 26.5a9.8 9.8 0 0 1-5.7 2h-.5a10 10 0 0 1-9.2-14c1.4-3.7 5-6.3 9-6.3h6.4v18.3zm152.3-26.5h13.5c.5 0 .8.3.8.7v33.7c0 .4-.3.7-.8.7h-6.4a.7.7 0 0 1-.8-.7v-7.4c-1.2 4-4.8 7.4-9 8h-.1a4.2 4.2 0 0 1-.5.1h-.9a10.3 10.3 0 0 1-7-2.6c-4-3.3-6.5-8.4-6.5-14.2 0-3.7 1-7.2 3-10 3-5 8.5-8.3 14.7-8.3zm.6 28.4c2.2-.1 4.2-.6 5.7-2V21.7h-6.3a9.8 9.8 0 0 0-9 6.4 10.2 10.2 0 0 0 9.1 13.9h.5zM452.8 13.4c-6.2 0-11.7 3.3-14.8 8.2a18.5 18.5 0 0 0 3.6 24.3 10.4 10.4 0 0 0 13 .6c2.2-1.5 3.8-3.7 4.5-6.1v7.8c0 2.8-.8 5-2.2 6.3-1.5 1.5-4 2.2-7.5 2.2l-6-.3c-.3 0-.7.2-.8.5l-1.6 5.5c-.1.4.1.8.5 1h.1c2.8.4 5.5.6 7 .6 6.3 0 11-1.4 14-4.1 2.7-2.5 4.2-6.3 4.5-11.4V14.2c0-.5-.4-.8-.8-.8h-13.5zm6.3 8.2v18.3a9.6 9.6 0 0 1-5.6 2h-1a10.3 10.3 0 0 1-8.8-14c1.4-3.7 5-6.3 9-6.3h6.4zM291 31.5A32 32 0 0 1 322.8 0h30.8c.6 0 1.2.5 1.2 1.2v61.5c0 1.1-1.3 1.7-2.2 1l-19.2-17a18 18 0 0 1-11 3.4 18.1 18.1 0 1 1 18.2-14.8c-.1.4-.5.7-.9.6-.1 0-.3 0-.4-.2l-3.8-3.4c-.4-.3-.6-.8-.7-1.4a12 12 0 1 0-2.4 8.3c.4-.4 1-.5 1.6-.2l14.7 13.1v-46H323a26 26 0 1 0 10 49.7c.8-.4 1.6-.2 2.3.3l3 2.7c.3.2.3.7 0 1l-.2.2a32 32 0 0 1-47.2-28.6z"></path></svg> </a> </div> </div> </script> <script type="text/html" id="tmpl-autocomplete-empty"> <div class="autocomplete-empty"> No results matched your query <span class="empty-query">"{{ data.query }}"</span> </div> </script> <script type="rocketlazyloadscript" data-rocket-type="text/javascript"> window.addEventListener('load', function () { /* Initialize Algolia client */ var client = algoliasearch( algolia.application_id, algolia.search_api_key ); /** * Algolia hits source method. * * This method defines a custom source to use with autocomplete.js. * * @param object $index Algolia index object. * @param object $params Options object to use in search. */ var algoliaHitsSource = function( index, params ) { return function( query, callback ) { index .search( query, params ) .then( function( response ) { callback( response.hits, response ); }) .catch( function( error ) { callback( [] ); }); } } /* Setup autocomplete.js sources */ var sources = []; algolia.autocomplete.sources.forEach( function( config, i ) { var suggestion_template = wp.template( config[ 'tmpl_suggestion' ] ); sources.push( { source: algoliaHitsSource( client.initIndex( config[ 'index_name' ] ), { hitsPerPage: config[ 'max_suggestions' ], attributesToSnippet: [ 'content:10' ], highlightPreTag: '__ais-highlight__', highlightPostTag: '__/ais-highlight__' } ), templates: { header: function () { return wp.template( 'autocomplete-header' )( { label: _.escape( config[ 'label' ] ) } ); }, suggestion: function ( hit ) { if ( hit.escaped === true ) { return suggestion_template( hit ); } hit.escaped = true; for ( var key in hit._highlightResult ) { /* We do not deal with arrays. */ if ( typeof hit._highlightResult[ key ].value !== 'string' ) { continue; } hit._highlightResult[ key ].value = _.escape( hit._highlightResult[ key ].value ); hit._highlightResult[ key ].value = hit._highlightResult[ key ].value.replace( /__ais-highlight__/g, '<em>' ).replace( /__\/ais-highlight__/g, '</em>' ); } for ( var key in hit._snippetResult ) { /* We do not deal with arrays. */ if ( typeof hit._snippetResult[ key ].value !== 'string' ) { continue; } hit._snippetResult[ key ].value = _.escape( hit._snippetResult[ key ].value ); hit._snippetResult[ key ].value = hit._snippetResult[ key ].value.replace( /__ais-highlight__/g, '<em>' ).replace( /__\/ais-highlight__/g, '</em>' ); } return suggestion_template( hit ); } } } ); } ); /* Setup dropdown menus */ document.querySelectorAll( algolia.autocomplete.input_selector ).forEach( function( element ) { var config = { debug: algolia.debug, hint: false, openOnFocus: true, appendTo: 'body', templates: { empty: wp.template( 'autocomplete-empty' ) } }; if ( algolia.powered_by_enabled ) { config.templates.footer = wp.template( 'autocomplete-footer' ); } /* Instantiate autocomplete.js */ var autocomplete = algoliaAutocomplete( element, config, sources ) .on( 'autocomplete:selected', function ( e, suggestion ) { /* Redirect the user when we detect a suggestion selection. */ window.location.href = suggestion.permalink ?? suggestion.posts_url; // Users use the `posts_url` property instead of `permalink`. } ); /* Force the dropdown to be re-drawn on scroll to handle fixed containers. */ window.addEventListener( 'scroll', function() { if ( autocomplete.autocomplete.getWrapper().style.display === "block" ) { autocomplete.autocomplete.close(); autocomplete.autocomplete.open(); } } ); } ); var algoliaPoweredLink = document.querySelector( '.algolia-powered-by-link' ); if ( algoliaPoweredLink ) { algoliaPoweredLink.addEventListener( 'click', function( e ) { e.preventDefault(); window.location = "https://www.algolia.com/?utm_source=WordPress&utm_medium=extension&utm_content=" + window.location.hostname + "&utm_campaign=poweredby"; } ); } }); </script> <link data-minify="1" rel='stylesheet' id='mailpoet_public-css' href='https://www.couchbase.com/blog/wp-content/cache/min/1/blog/wp-content/plugins/mailpoet/assets/dist/css/mailpoet-public.2e4711f8.css?ver=1732535971' type='text/css' media='all' /> <script type="rocketlazyloadscript" data-minify="1" data-rocket-type="text/javascript" data-rocket-src="https://www.couchbase.com/blog/wp-content/cache/min/1/blog/wp-content/plugins/duracelltomi-google-tag-manager/dist/js/gtm4wp-form-move-tracker.js?ver=1732535971" id="gtm4wp-form-move-tracker-js"></script> <script type="rocketlazyloadscript" data-rocket-type="text/javascript" id="rocket-browser-checker-js-after"> /* <![CDATA[ */ "use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}var RocketBrowserCompatibilityChecker=function(){function RocketBrowserCompatibilityChecker(options){_classCallCheck(this,RocketBrowserCompatibilityChecker),this.passiveSupported=!1,this._checkPassiveOption(this),this.options=!!this.passiveSupported&&options}return _createClass(RocketBrowserCompatibilityChecker,[{key:"_checkPassiveOption",value:function(self){try{var options={get passive(){return!(self.passiveSupported=!0)}};window.addEventListener("test",null,options),window.removeEventListener("test",null,options)}catch(err){self.passiveSupported=!1}}},{key:"initRequestIdleCallback",value:function(){!1 in window&&(window.requestIdleCallback=function(cb){var start=Date.now();return setTimeout(function(){cb({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-start))}})},1)}),!1 in window&&(window.cancelIdleCallback=function(id){return clearTimeout(id)})}},{key:"isDataSaverModeOn",value:function(){return"connection"in navigator&&!0===navigator.connection.saveData}},{key:"supportsLinkPrefetch",value:function(){var elem=document.createElement("link");return elem.relList&&elem.relList.supports&&elem.relList.supports("prefetch")&&window.IntersectionObserver&&"isIntersecting"in IntersectionObserverEntry.prototype}},{key:"isSlowConnection",value:function(){return"connection"in navigator&&"effectiveType"in navigator.connection&&("2g"===navigator.connection.effectiveType||"slow-2g"===navigator.connection.effectiveType)}}]),RocketBrowserCompatibilityChecker}(); /* ]]> */ </script> <script type="text/javascript" id="rocket-preload-links-js-extra"> /* <![CDATA[ */ var RocketPreloadLinksConfig = {"excludeUris":"\/(?:.+\/)?feed(?:\/(?:.+\/?)?)?$|\/(?:.+\/)?embed\/|http:\/\/(\/%5B\/%5D+)?\/(index.php\/)?(.*)wp-json(\/.*|$)|\/refer\/|\/go\/|\/recommend\/|\/recommends\/","usesTrailingSlash":"1","imageExt":"jpg|jpeg|gif|png|tiff|bmp|webp|avif|pdf|doc|docx|xls|xlsx|php","fileExt":"jpg|jpeg|gif|png|tiff|bmp|webp|avif|pdf|doc|docx|xls|xlsx|php|html|htm","siteUrl":"https:\/\/www.couchbase.com\/blog","onHoverDelay":"100","rateThrottle":"3"}; /* ]]> */ </script> <script type="rocketlazyloadscript" data-rocket-type="text/javascript" id="rocket-preload-links-js-after"> /* <![CDATA[ */ (function() { "use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e=function(){function i(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(e,t,n){return t&&i(e.prototype,t),n&&i(e,n),e}}();function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var t=function(){function n(e,t){i(this,n),this.browser=e,this.config=t,this.options=this.browser.options,this.prefetched=new Set,this.eventTime=null,this.threshold=1111,this.numOnHover=0}return e(n,[{key:"init",value:function(){!this.browser.supportsLinkPrefetch()||this.browser.isDataSaverModeOn()||this.browser.isSlowConnection()||(this.regex={excludeUris:RegExp(this.config.excludeUris,"i"),images:RegExp(".("+this.config.imageExt+")$","i"),fileExt:RegExp(".("+this.config.fileExt+")$","i")},this._initListeners(this))}},{key:"_initListeners",value:function(e){-1<this.config.onHoverDelay&&document.addEventListener("mouseover",e.listener.bind(e),e.listenerOptions),document.addEventListener("mousedown",e.listener.bind(e),e.listenerOptions),document.addEventListener("touchstart",e.listener.bind(e),e.listenerOptions)}},{key:"listener",value:function(e){var t=e.target.closest("a"),n=this._prepareUrl(t);if(null!==n)switch(e.type){case"mousedown":case"touchstart":this._addPrefetchLink(n);break;case"mouseover":this._earlyPrefetch(t,n,"mouseout")}}},{key:"_earlyPrefetch",value:function(t,e,n){var i=this,r=setTimeout(function(){if(r=null,0===i.numOnHover)setTimeout(function(){return i.numOnHover=0},1e3);else if(i.numOnHover>i.config.rateThrottle)return;i.numOnHover++,i._addPrefetchLink(e)},this.config.onHoverDelay);t.addEventListener(n,function e(){t.removeEventListener(n,e,{passive:!0}),null!==r&&(clearTimeout(r),r=null)},{passive:!0})}},{key:"_addPrefetchLink",value:function(i){return this.prefetched.add(i.href),new Promise(function(e,t){var n=document.createElement("link");n.rel="prefetch",n.href=i.href,n.onload=e,n.onerror=t,document.head.appendChild(n)}).catch(function(){})}},{key:"_prepareUrl",value:function(e){if(null===e||"object"!==(void 0===e?"undefined":r(e))||!1 in e||-1===["http:","https:"].indexOf(e.protocol))return null;var t=e.href.substring(0,this.config.siteUrl.length),n=this._getPathname(e.href,t),i={original:e.href,protocol:e.protocol,origin:t,pathname:n,href:t+n};return this._isLinkOk(i)?i:null}},{key:"_getPathname",value:function(e,t){var n=t?e.substring(this.config.siteUrl.length):e;return n.startsWith("/")||(n="/"+n),this._shouldAddTrailingSlash(n)?n+"/":n}},{key:"_shouldAddTrailingSlash",value:function(e){return this.config.usesTrailingSlash&&!e.endsWith("/")&&!this.regex.fileExt.test(e)}},{key:"_isLinkOk",value:function(e){return null!==e&&"object"===(void 0===e?"undefined":r(e))&&(!this.prefetched.has(e.href)&&e.origin===this.config.siteUrl&&-1===e.href.indexOf("?")&&-1===e.href.indexOf("#")&&!this.regex.excludeUris.test(e.href)&&!this.regex.images.test(e.href))}}],[{key:"run",value:function(){"undefined"!=typeof RocketPreloadLinksConfig&&new n(new RocketBrowserCompatibilityChecker({capture:!0,passive:!0}),RocketPreloadLinksConfig).init()}}]),n}();t.run(); }()); /* ]]> */ </script> <script type="rocketlazyloadscript" data-minify="1" data-rocket-type="text/javascript" data-rocket-src="https://www.couchbase.com/blog/wp-content/cache/min/1/blog/wp-content/themes/couchbase/js/lib/hoverIntent.js?ver=1732535971" id="hoverintent-plugin-js-js"></script> <script type="rocketlazyloadscript" data-minify="1" data-rocket-type="text/javascript" data-rocket-src="https://www.couchbase.com/blog/wp-content/cache/min/1/blog/wp-content/themes/couchbase/js/lib/megamenu-plugin.js?ver=1732535971" id="megamenu-plugin-js-js"></script> <script type="text/javascript" id="couchbase-scripts-widgets-js-extra"> /* <![CDATA[ */ var cbWidgets = {"showMore":"Show More","showLess":"Show Less","baseUrlweb":"https:\/\/www.couchbase.com\/blog\/wp-content\/themes\/couchbase","ajaxurl":"https:\/\/www.couchbase.com\/blog\/wp-admin\/admin-ajax.php","algoliaprefix":"newprod_","algoliaAppID":"NI1G57N08Q","algoliaApiKEY":"bb034b12a2bc82fa014ed7e697159e3f","homeUrl":"","load_fixed":"true","website":"searchable_posts"}; /* ]]> */ </script> <script data-minify="1" type="text/javascript" src="https://www.couchbase.com/blog/wp-content/cache/min/1/blog/wp-content/themes/couchbase/js/widgets.js?ver=1732535971" id="couchbase-scripts-widgets-js"></script> <script type="rocketlazyloadscript" data-minify="1" data-rocket-type="text/javascript" data-rocket-src="https://www.couchbase.com/blog/wp-content/cache/min/1/blog/wp-content/themes/paperback/js/jquery.fitvids.js?ver=1732535971" id="fitVids-js"></script> <script type="rocketlazyloadscript" data-minify="1" data-rocket-type="text/javascript" data-rocket-src="https://www.couchbase.com/blog/wp-content/cache/min/1/blog/wp-content/themes/paperback/js/jquery.touchSwipe.js?ver=1732535971" id="touchSwipe-js"></script> <script type="rocketlazyloadscript" data-minify="1" data-rocket-type="text/javascript" data-rocket-src="https://www.couchbase.com/blog/wp-content/cache/min/1/blog/wp-content/themes/paperback/js/headroom.js?ver=1732535971" id="headroom-js"></script> <script type="rocketlazyloadscript" data-minify="1" data-rocket-type="text/javascript" data-rocket-src="https://www.couchbase.com/blog/wp-content/cache/min/1/blog/wp-content/themes/paperback/js/jQuery.headroom.js?ver=1732535971" id="headroom-jquery-js"></script> <script type="text/javascript" id="thickbox-js-extra"> /* <![CDATA[ */ var thickboxL10n = {"next":"Next >","prev":"< Prev","image":"Image","of":"of","close":"Close","noiframes":"This feature requires inline frames. You have iframes disabled or your browser does not support them.","loadingAnimation":"https:\/\/www.couchbase.com\/blog\/wp-includes\/js\/thickbox\/loadingAnimation.gif"}; /* ]]> */ </script> <script type="rocketlazyloadscript" data-minify="1" data-rocket-type="text/javascript" data-rocket-src="https://www.couchbase.com/blog/wp-content/cache/min/1/blog/wp-includes/js/thickbox/thickbox.js?ver=1732535971" id="thickbox-js"></script> <script type="rocketlazyloadscript" data-minify="1" data-rocket-type="text/javascript" data-rocket-src="https://www.couchbase.com/blog/wp-content/cache/min/1/blog/wp-content/plugins/heateor-social-login/public/js/heateor-social-login-public.js?ver=1732535971" id="heateor-social-login-public-js"></script> <script type="rocketlazyloadscript" data-rocket-type="text/javascript" id="heateor_sss_sharing_js-js-before"> /* <![CDATA[ */ function heateorSssLoadEvent(e) {var t=window.onload;if (typeof window.onload!="function") {window.onload=e}else{window.onload=function() {t();e()}}}; var heateorSssSharingAjaxUrl = 'https://www.couchbase.com/blog/wp-admin/admin-ajax.php', heateorSssCloseIconPath = 'https://www.couchbase.com/blog/wp-content/plugins/sassy-social-share/public/../images/close.png', heateorSssPluginIconPath = 'https://www.couchbase.com/blog/wp-content/plugins/sassy-social-share/public/../images/logo.png', heateorSssHorizontalSharingCountEnable = 0, heateorSssVerticalSharingCountEnable = 0, heateorSssSharingOffset = -10; var heateorSssMobileStickySharingEnabled = 1;var heateorSssCopyLinkMessage = "Link copied.";var heateorSssUrlCountFetched = [], heateorSssSharesText = 'Shares', heateorSssShareText = 'Share';function heateorSssPopup(e) {window.open(e,"popUpWindow","height=400,width=600,left=400,top=100,resizable,scrollbars,toolbar=0,personalbar=0,menubar=no,location=no,directories=no,status")} /* ]]> */ </script> <script type="rocketlazyloadscript" data-minify="1" data-rocket-type="text/javascript" data-rocket-src="https://www.couchbase.com/blog/wp-content/cache/min/1/blog/wp-content/plugins/sassy-social-share/public/js/sassy-social-share-public.js?ver=1732535971" id="heateor_sss_sharing_js-js"></script> <script type="rocketlazyloadscript" data-rocket-type="text/javascript" data-rocket-src="https://www.couchbase.com/blog/wp-includes/js/underscore.min.js?ver=1.13.4" id="underscore-js"></script> <script type="text/javascript" id="wp-util-js-extra"> /* <![CDATA[ */ var _wpUtilSettings = {"ajax":{"url":"\/blog\/wp-admin\/admin-ajax.php"}}; /* ]]> */ </script> <script type="rocketlazyloadscript" data-rocket-type="text/javascript" data-rocket-src="https://www.couchbase.com/blog/wp-includes/js/wp-util.min.js?ver=6.6.1" id="wp-util-js"></script> <script type="rocketlazyloadscript" data-minify="1" data-rocket-type="text/javascript" data-rocket-src="https://www.couchbase.com/blog/wp-content/cache/min/1/blog/wp-content/plugins/wp-search-with-algolia/js/algoliasearch/dist/algoliasearch-lite.umd.js?ver=1732535971" id="algolia-search-js"></script> <script type="rocketlazyloadscript" data-rocket-type="text/javascript" data-rocket-src="https://www.couchbase.com/blog/wp-content/plugins/wp-search-with-algolia/js/autocomplete.js/dist/autocomplete.min.js?ver=2.8.1" id="algolia-autocomplete-js"></script> <script type="rocketlazyloadscript" data-minify="1" data-rocket-type="text/javascript" data-rocket-src="https://www.couchbase.com/blog/wp-content/cache/min/1/blog/wp-content/plugins/wp-search-with-algolia/js/autocomplete-noconflict.js?ver=1732535971" id="algolia-autocomplete-noconflict-js"></script> <script type="rocketlazyloadscript" data-rocket-type="text/javascript" data-rocket-src="https://www.google.com/recaptcha/api.js?render=explicit&amp;ver=6.6.1" id="mailpoet_recaptcha-js"></script> <script type="text/javascript" id="mailpoet_public-js-extra"> /* <![CDATA[ */ var MailPoetForm = {"ajax_url":"https:\/\/www.couchbase.com\/blog\/wp-admin\/admin-ajax.php","is_rtl":"","ajax_common_error_message":"An error has happened while performing a request, please try again later."}; /* ]]> */ </script> <script type="rocketlazyloadscript" data-minify="1" data-rocket-type="text/javascript" data-rocket-src="https://www.couchbase.com/blog/wp-content/cache/min/1/blog/wp-content/plugins/mailpoet/assets/dist/js/public.js?ver=1732535971" id="mailpoet_public-js" defer="defer" data-wp-strategy="defer"></script> <script type="rocketlazyloadscript" data-minify="1" data-rocket-src="https://www.couchbase.com/blog/wp-content/cache/min/1/npm/algoliasearch@4.22.1/dist/algoliasearch-lite.umd.js?ver=1732535971"></script> <script type="rocketlazyloadscript" data-minify="1" data-rocket-src="https://www.couchbase.com/blog/wp-content/cache/min/1/npm/instantsearch.js@4.64.0/dist/instantsearch.production.min.js?ver=1732535971"></script> <script type="rocketlazyloadscript" data-rocket-src="https://cdn.jsdelivr.net/npm/@algolia/autocomplete-js"></script> <script type="rocketlazyloadscript"> const { autocomplete,getAlgoliaResults, getAlgoliaFacets } = window['@algolia/autocomplete-js']; </script> <script type="rocketlazyloadscript" data-minify="1" data-rocket-src="https://www.couchbase.com/blog/wp-content/cache/min/1/blog/wp-content/themes/couchbase/js/algo-search.js?ver=1732535971"></script> <script>var rocket_beacon_data = {"ajax_url":"https:\/\/www.couchbase.com\/blog\/wp-admin\/admin-ajax.php","nonce":"67f52ba07d","url":"https:\/\/www.couchbase.com\/blog\/tag\/express","is_mobile":false,"width_threshold":1600,"height_threshold":700,"delay":500,"debug":null,"status":{"atf":true,"lrc":true},"elements":"img, video, picture, p, main, div, li, svg, section, header, span","lrc_threshold":1800}</script><script data-name="wpr-wpr-beacon" src='https://www.couchbase.com/blog/wp-content/plugins/wp-rocket/assets/js/wpr-beacon.min.js' async></script></body> </html> <!-- This website is like a Rocket, isn't it? Performance optimized by WP Rocket. Learn more: https://wp-rocket.me -->

Pages: 1 2 3 4 5 6 7 8 9 10