{"id":1644,"date":"2014-12-16T19:34:22","date_gmt":"2014-12-16T19:34:21","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=1644"},"modified":"2014-12-16T19:34:22","modified_gmt":"2014-12-16T19:34:21","slug":"intro-and-couchnode-100","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/intro-and-couchnode-100\/","title":{"rendered":"Intro and Couchnode 1.0.0"},"content":{"rendered":"<div class=\"post-body entry-content\" id=\"post-body-7876993119382848374\" itemprop=\"description articleBody\">\n<div class=\"MsoNormal\">\n<div>Hey Everyone!<\/div>\n<div>\u00a0<\/div>\n<div>My name is Brett Lawson and I am the new Couchbase Node.js SDK developer.\u00a0\u00a0I have worked for Couchbase for about 3 weeks now, but I haven\u2019t had a chance to get a blog out until now.\u00a0\u00a0I have been a regular contributor to the Node.js SDK for over 10 months now.<\/div>\n<div>\u00a0<\/div>\n<div>I bring experience with me from the social games industry, where I wrote the service powering our social game service backend, using Couchbase as a backing store (of course!).<\/div>\n<div>\u00a0<\/div>\n<div>The reason that I decided today would be a good day to make my first blog post is that I am happy to announce that we have just released the first Couchnode (Which is the name of the Couchbase Node.js driver) general availability release!\u00a0\u00a0Version 1.0.0 of Couchnode was released today, which represents the end of an accelerated release cycle we have had to get Node.js from its previous 0.0.13 \u2018new project\u2019 state, up to our general availability release today.<\/div>\n<div>\u00a0<\/div>\n<div>Now, lets get on with some code samples on how to get started with the new Couchnode SDK!<\/div>\n<div>\u00a0<\/div>\n<div>Connecting to a Couchbase cluster is a fairly simple procedure.\u00a0\u00a0You simply instantiate a new connection object passing in your options as an object and you are set to go.\u00a0\u00a0You can optionally pass a callback to the constructor, but this is not necessary and any operations performed against a connection that is still opening will be queued and executed as soon as the connection is available.<\/div>\n<div>\u00a0<\/div>\n<div class=\"MsoNormal\" style=\"mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;\"><span style=\"background: black; color: #f9ee98; font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco; mso-highlight: black;\">var <\/span><span style=\"background: black; color: #f8f8f8; font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco; mso-highlight: black;\">bucket <\/span><span style=\"background: black; color: #cda869; font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco; mso-highlight: black;\">= new <\/span><span style=\"background: black; color: #f8f8f8; font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco; mso-highlight: black;\">couchbase.Connection({<\/span><span style=\"font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco;\"><o:p><\/o:p><\/span><\/div>\n<div class=\"MsoNormal\" style=\"mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;\"><span style=\"background: black; color: #f8f8f8; font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco; mso-highlight: black;\"><span style=\"mso-spacerun: yes;\">\u00a0 <\/span>bucket:<\/span><span style=\"background: black; color: #8f9d6a; font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco; mso-highlight: black;\">&#8220;default&#8221;<\/span><span style=\"background: black; color: #f8f8f8; font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco; mso-highlight: black;\">,<\/span><span style=\"font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco;\"><o:p><\/o:p><\/span><\/div>\n<div class=\"MsoNormal\" style=\"mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;\"><span style=\"background: black; color: #f8f8f8; font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco; mso-highlight: black;\"><span style=\"mso-spacerun: yes;\">\u00a0 <\/span>password:<\/span><span style=\"background: black; color: #8f9d6a; font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco; mso-highlight: black;\">&#8220;&#8221;<\/span><span style=\"background: black; color: #f8f8f8; font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco; mso-highlight: black;\">,<\/span><span style=\"font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco;\"><o:p><\/o:p><\/span><\/div>\n<div class=\"MsoNormal\" style=\"mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;\"><span style=\"background: black; color: #f8f8f8; font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco; mso-highlight: black;\"><span style=\"mso-spacerun: yes;\">\u00a0 <\/span>host:<\/span><span style=\"background: black; color: #8f9d6a; font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco; mso-highlight: black;\">&#8220;localhost:8091&#8221;<\/span><span style=\"font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco;\"><o:p><\/o:p><\/span><\/div>\n<div class=\"MsoNormal\"><span style=\"background: black; color: #f8f8f8; font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco; mso-highlight: black;\">});<\/span><o:p><\/o:p><\/div>\n<div>\u00a0<\/div>\n<div>Once you are connected, you can start performing some operations.\u00a0\u00a0Here is an example of us setting a new key into our cluster, and then immediately retrieving it afterwards:<\/div>\n<div>\u00a0<\/div>\n<div class=\"MsoNormal\" style=\"mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;\"><span style=\"background: black; color: #f8f8f8; font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco; mso-highlight: black;\">bucket.set(<\/span><span style=\"background: black; color: #8f9d6a; font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco; mso-highlight: black;\">&#8220;foo&#8221;<\/span><span style=\"background: black; color: #f8f8f8; font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco; mso-highlight: black;\">, <\/span><span style=\"background: black; color: #8f9d6a; font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco; mso-highlight: black;\">&#8220;val&#8221;<\/span><span style=\"background: black; color: #f8f8f8; font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco; mso-highlight: black;\">, <\/span><span style=\"background: black; color: #f9ee98; font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco; mso-highlight: black;\">function<\/span><span style=\"background: black; color: #f8f8f8; font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco; mso-highlight: black;\">(<\/span><span style=\"background: black; color: #7587a6; font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco; mso-highlight: black;\">err<\/span><span style=\"background: black; color: #f8f8f8; font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco; mso-highlight: black;\">, <\/span><span style=\"background: black; color: #7587a6; font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco; mso-highlight: black;\">result<\/span><span style=\"background: black; color: #f8f8f8; font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco; mso-highlight: black;\">) {<\/span><span style=\"font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco;\"><o:p><\/o:p><\/span><\/div>\n<div class=\"MsoNormal\" style=\"mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;\"><span style=\"background: black; color: #f8f8f8; font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco; mso-highlight: black;\"><span style=\"mso-spacerun: yes;\">\u00a0 <\/span><\/span><span style=\"background: black; color: #cda869; font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco; mso-highlight: black;\">if <\/span><span style=\"background: black; color: #f8f8f8; font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco; mso-highlight: black;\">(err) <\/span><span style=\"background: black; color: #cda869; font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco; mso-highlight: black;\">throw <\/span><span style=\"background: black; color: #f8f8f8; font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco; mso-highlight: black;\">err;<\/span><span style=\"font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco;\"><o:p><\/o:p><\/span><\/div>\n<div class=\"MsoNormal\" style=\"mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;\"><span style=\"background: black; color: #f8f8f8; font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco; mso-highlight: black;\"><span style=\"mso-spacerun: yes;\">\u00a0 <\/span>bucket.get(<\/span><span style=\"background: black; color: #8f9d6a; font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco; mso-highlight: black;\">&#8220;foo&#8221;<\/span><span style=\"background: black; color: #f8f8f8; font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco; mso-highlight: black;\">, <\/span><span style=\"background: black; color: #f9ee98; font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco; mso-highlight: black;\">function<\/span><span style=\"background: black; color: #f8f8f8; font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco; mso-highlight: black;\">(<\/span><span style=\"background: black; color: #7587a6; font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco; mso-highlight: black;\">err<\/span><span style=\"background: black; color: #f8f8f8; font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco; mso-highlight: black;\">, <\/span><span style=\"background: black; color: #7587a6; font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco; mso-highlight: black;\">result<\/span><span style=\"background: black; color: #f8f8f8; font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco; mso-highlight: black;\">) {<\/span><span style=\"font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco;\"><o:p><\/o:p><\/span><\/div>\n<div class=\"MsoNormal\" style=\"mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;\"><span style=\"background: black; color: #f8f8f8; font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco; mso-highlight: black;\"><span style=\"mso-spacerun: yes;\">\u00a0\u00a0\u00a0 <\/span><\/span><span style=\"background: black; color: #cda869; font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco; mso-highlight: black;\">if <\/span><span style=\"background: black; color: #f8f8f8; font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco; mso-highlight: black;\">(err) <\/span><span style=\"background: black; color: #cda869; font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco; mso-highlight: black;\">throw <\/span><span style=\"background: black; color: #f8f8f8; font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco; mso-highlight: black;\">err;<\/span><span style=\"font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco;\"><o:p><\/o:p><\/span><\/div>\n<div class=\"MsoNormal\" style=\"mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;\"><span style=\"background: black; color: #f8f8f8; font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco; mso-highlight: black;\"><span style=\"mso-spacerun: yes;\">\u00a0\u00a0\u00a0 <\/span>console.<\/span><span style=\"background: black; color: #dad085; font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco; mso-highlight: black;\">log<\/span><span style=\"background: black; color: #f8f8f8; font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco; mso-highlight: black;\">(result.value);<\/span><span style=\"font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco;\"><o:p><\/o:p><\/span><\/div>\n<div class=\"MsoNormal\" style=\"mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;\"><span style=\"background: black; color: #cda869; font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco; mso-highlight: black;\"><span style=\"mso-spacerun: yes;\">\u00a0 <\/span><\/span><span style=\"background: black; color: #f8f8f8; font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco; mso-highlight: black;\">});<\/span><span style=\"font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco;\"><o:p><\/o:p><\/span><\/div>\n<div class=\"MsoNormal\"><span style=\"background: black; color: #f8f8f8; font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco; mso-highlight: black;\">});<\/span><o:p><\/o:p><\/div>\n<div>\u00a0<\/div>\n<div>Those of you who have used previous iterations of couchnode may notice that our API has changed.\u00a0This has been to make all of our callback a bit more uniform and easier to use and wrap.<\/div>\n<div>\u00a0<\/div>\n<div>Another interesting feature is one we have had in our other SDKs for a while now, but didnt get a chance to add to previous iterations of the Node.js driver is built-in storage durability requirements.\u00a0\u00a0With this feature, you can now request that the SDK internally handle ensuring your durability requirements are met, which is a break from our previous way of handling this where it was a separate operation.<\/div>\n<div>\u00a0<\/div>\n<div class=\"MsoNormal\" style=\"mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;\"><span style=\"background: black; color: #f8f8f8; font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco; mso-highlight: black;\">bucket.set(<\/span><u><span style=\"background: black; color: #8f9d6a; font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco; mso-highlight: black;\">&#8220;foo\u201d, &#8220;<\/span><\/u><u><span style=\"background: black; color: #f8f8f8; font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco; mso-highlight: black;\">value<\/span><\/u><span style=\"background: black; color: #8f9d6a; font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco; mso-highlight: black;\">&#8220;, {<\/span><span style=\"font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco;\"><o:p><\/o:p><\/span><\/div>\n<div class=\"MsoNormal\" style=\"mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;\"><span style=\"background: black; font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco; mso-highlight: black;\"><span style=\"mso-spacerun: yes;\">\u00a0\u00a0\u00a0 <\/span><span style=\"color: #f8f8f8;\">persist_to: <\/span><span style=\"color: #cf6a4c;\">2<\/span><span style=\"color: #f8f8f8;\">,<\/span><\/span><span style=\"font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco;\"><o:p><\/o:p><\/span><\/div>\n<div class=\"MsoNormal\" style=\"mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;\"><span style=\"background: black; color: #f8f8f8; font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco; mso-highlight: black;\"><span style=\"mso-spacerun: yes;\">\u00a0\u00a0\u00a0 <\/span>replicate_to: <\/span><span style=\"background: black; color: #cf6a4c; font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco; mso-highlight: black;\">1<\/span><span style=\"font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco;\"><o:p><\/o:p><\/span><\/div>\n<div class=\"MsoNormal\" style=\"mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;\"><span style=\"background: black; color: #f8f8f8; font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco; mso-highlight: black;\">}, <\/span><span style=\"background: black; color: #f9ee98; font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco; mso-highlight: black;\">function<\/span><span style=\"background: black; color: #f8f8f8; font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco; mso-highlight: black;\">(<\/span><span style=\"background: black; color: #7587a6; font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco; mso-highlight: black;\">err<\/span><span style=\"background: black; color: #f8f8f8; font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco; mso-highlight: black;\">, <\/span><span style=\"background: black; color: #7587a6; font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco; mso-highlight: black;\">result<\/span><span style=\"background: black; color: #f8f8f8; font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco; mso-highlight: black;\">) { &#8230; });<\/span><span style=\"font-family: Monaco; font-size: 11.0pt; mso-bidi-font-family: Monaco;\"><o:p><\/o:p><\/span><\/div>\n<div>\u00a0<\/div>\n<div>The above example show a set operation being preformed with a durability requirement specifying that the data must be persisted to disk on at least 2 nodes and additionally must be replicated to at minimum one additional node other than the master.\u00a0\u00a0This can be a powerful and simple way to ensure the integrity of your data, and can make working with views much simpler.<\/div>\n<div>\u00a0<\/div>\n<div>The last thing I would like to mention (no code samples :() is the fact that we have refactored our view API significantly as well.\u00a0\u00a0We have done this to allow support for a new paging API that we have also included in the newer versions of the SDK, which can make building paginated web services extremely simple.\u00a0\u00a0I suggest you take a look at our API reference or SDK Manual for more information on these!<\/div>\n<div>\u00a0<\/div>\n<p><\/p>\n<div>Enjoy! Brett<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Hey Everyone! \u00a0 My name is Brett Lawson and I am the new Couchbase Node.js SDK developer.\u00a0\u00a0I have worked for Couchbase for about 3 weeks now, but I haven\u2019t had a chance to get a blog out until now.\u00a0\u00a0I have [&hellip;]<\/p>\n","protected":false},"author":31,"featured_media":13873,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1],"tags":[],"ppma_author":[9004],"class_list":["post-1644","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.1 (Yoast SEO v26.1.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Intro and Couchnode 1.0.0 - The Couchbase Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.couchbase.com\/blog\/intro-and-couchnode-100\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Intro and Couchnode 1.0.0\" \/>\n<meta property=\"og:description\" content=\"Hey Everyone! \u00a0 My name is Brett Lawson and I am the new Couchbase Node.js SDK developer.\u00a0\u00a0I have worked for Couchbase for about 3 weeks now, but I haven\u2019t had a chance to get a blog out until now.\u00a0\u00a0I have [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/intro-and-couchnode-100\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2014-12-16T19:34:21+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2022\/11\/couchbase-nosql-dbaas.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1800\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Brett Lawson, Principal Software Engineer, Couchbase\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Brett Lawson, Principal Software Engineer, Couchbase\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/intro-and-couchnode-100\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/intro-and-couchnode-100\/\"},\"author\":{\"name\":\"Brett Lawson, Principal Software Engineer, Couchbase\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/5cfc2fbf25776be2a027a474562be02f\"},\"headline\":\"Intro and Couchnode 1.0.0\",\"datePublished\":\"2014-12-16T19:34:21+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/intro-and-couchnode-100\/\"},\"wordCount\":575,\"commentCount\":2,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/intro-and-couchnode-100\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/intro-and-couchnode-100\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/intro-and-couchnode-100\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/intro-and-couchnode-100\/\",\"name\":\"Intro and Couchnode 1.0.0 - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/intro-and-couchnode-100\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/intro-and-couchnode-100\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2014-12-16T19:34:21+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/intro-and-couchnode-100\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/intro-and-couchnode-100\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/intro-and-couchnode-100\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"width\":1800,\"height\":630},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/intro-and-couchnode-100\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Intro and Couchnode 1.0.0\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"width\":218,\"height\":34,\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/5cfc2fbf25776be2a027a474562be02f\",\"name\":\"Brett Lawson, Principal Software Engineer, Couchbase\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/ee3586f0c112c20e863af447d44dec8f\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/6aec1ba24ef7558a248dcde7b7a18b15b06e2885b24b663906a448634066c1c4?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/6aec1ba24ef7558a248dcde7b7a18b15b06e2885b24b663906a448634066c1c4?s=96&d=mm&r=g\",\"caption\":\"Brett Lawson, Principal Software Engineer, Couchbase\"},\"description\":\"Brett Lawson is a Principal Software Engineer at Couchbase. Brett is responsible for the design and development of the Couchbase Node.js and PHP clients as well as playing a role in the design and development of the C library, libcouchbase.\",\"url\":\"https:\/\/www.couchbase.com\/blog\/author\/brett-lawson\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Intro and Couchnode 1.0.0 - The Couchbase Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.couchbase.com\/blog\/intro-and-couchnode-100\/","og_locale":"en_US","og_type":"article","og_title":"Intro and Couchnode 1.0.0","og_description":"Hey Everyone! \u00a0 My name is Brett Lawson and I am the new Couchbase Node.js SDK developer.\u00a0\u00a0I have worked for Couchbase for about 3 weeks now, but I haven\u2019t had a chance to get a blog out until now.\u00a0\u00a0I have [&hellip;]","og_url":"https:\/\/www.couchbase.com\/blog\/intro-and-couchnode-100\/","og_site_name":"The Couchbase Blog","article_published_time":"2014-12-16T19:34:21+00:00","og_image":[{"width":1800,"height":630,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2022\/11\/couchbase-nosql-dbaas.png","type":"image\/png"}],"author":"Brett Lawson, Principal Software Engineer, Couchbase","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Brett Lawson, Principal Software Engineer, Couchbase","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/intro-and-couchnode-100\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/intro-and-couchnode-100\/"},"author":{"name":"Brett Lawson, Principal Software Engineer, Couchbase","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/5cfc2fbf25776be2a027a474562be02f"},"headline":"Intro and Couchnode 1.0.0","datePublished":"2014-12-16T19:34:21+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/intro-and-couchnode-100\/"},"wordCount":575,"commentCount":2,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/intro-and-couchnode-100\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/intro-and-couchnode-100\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/intro-and-couchnode-100\/","url":"https:\/\/www.couchbase.com\/blog\/intro-and-couchnode-100\/","name":"Intro and Couchnode 1.0.0 - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/intro-and-couchnode-100\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/intro-and-couchnode-100\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2014-12-16T19:34:21+00:00","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/intro-and-couchnode-100\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/intro-and-couchnode-100\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/intro-and-couchnode-100\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","width":1800,"height":630},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/intro-and-couchnode-100\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Intro and Couchnode 1.0.0"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"The Couchbase Blog","description":"Couchbase, the NoSQL Database","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"The Couchbase Blog","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","width":218,"height":34,"caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/5cfc2fbf25776be2a027a474562be02f","name":"Brett Lawson, Principal Software Engineer, Couchbase","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/ee3586f0c112c20e863af447d44dec8f","url":"https:\/\/secure.gravatar.com\/avatar\/6aec1ba24ef7558a248dcde7b7a18b15b06e2885b24b663906a448634066c1c4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6aec1ba24ef7558a248dcde7b7a18b15b06e2885b24b663906a448634066c1c4?s=96&d=mm&r=g","caption":"Brett Lawson, Principal Software Engineer, Couchbase"},"description":"Brett Lawson is a Principal Software Engineer at Couchbase. Brett is responsible for the design and development of the Couchbase Node.js and PHP clients as well as playing a role in the design and development of the C library, libcouchbase.","url":"https:\/\/www.couchbase.com\/blog\/author\/brett-lawson\/"}]}},"authors":[{"term_id":9004,"user_id":31,"is_guest":0,"slug":"brett-lawson","display_name":"Brett Lawson, Principal Software Engineer, Couchbase","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/6aec1ba24ef7558a248dcde7b7a18b15b06e2885b24b663906a448634066c1c4?s=96&d=mm&r=g","author_category":"","last_name":"Lawson","first_name":"Brett","job_title":"","user_url":"","description":"Brett Lawson is a Principal Software Engineer at Couchbase. Brett is responsible for the design and development of the Couchbase Node.js and PHP clients as well as playing a role in the design and development of the C library, libcouchbase."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts\/1644","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/users\/31"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/comments?post=1644"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts\/1644\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/media\/13873"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/media?parent=1644"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/categories?post=1644"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/tags?post=1644"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=1644"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}