{"id":3737,"date":"2017-07-18T12:37:02","date_gmt":"2017-07-18T19:37:02","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=3737"},"modified":"2017-07-18T12:37:02","modified_gmt":"2017-07-18T19:37:02","slug":"querying-date-ranges-within-embedded-json-document-arrays-simple-example-using-n1ql-nodejs-docker","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/ko\/querying-date-ranges-within-embedded-json-document-arrays-simple-example-using-n1ql-nodejs-docker\/","title":{"rendered":"\uc784\ubca0\ub514\ub4dc JSON \ubb38\uc11c \ubc30\uc5f4 \ub0b4\uc5d0\uc11c \ub0a0\uc9dc \ubc94\uc704 \ucffc\ub9ac\ud558\uae30.  N1QL, Nodejs \ubc0f Docker\ub97c \uc0ac\uc6a9\ud55c \uac04\ub2e8\ud55c \uc608\uc81c"},"content":{"rendered":"<p>\ubb38\uc11c \ubc30\uc5f4\uc744 \ucffc\ub9ac\ud558\uace0 \uc0c9\uc778\ud558\ub294 \uac83\uc740 Couchbase\uc758 \uac00\uc7a5 \uac15\ub825\ud55c \uae30\ub2a5 \uc911 \ud558\ub098\uc785\ub2c8\ub2e4.  \ud2b9\uc815 \ub0a0\uc9dc \ubc94\uc704 \ub0b4\uc5d0\uc11c \ubc30\uc5f4 \ud56d\ubaa9\uc744 \ucc3e\ub294 \uac83\uc740 \uc77c\ubc18\uc801\uc778 \uc694\uad6c \uc0ac\ud56d\uc785\ub2c8\ub2e4.  \ub2e4\uc74c \uc0ac\uc6a9 \uc0ac\ub840\ub97c \uace0\ub824\ud574 \ubcf4\uc138\uc694.<\/p>\n<p><strong>\uc0ac\uc6a9\uc790 \uc2a4\ud1a0\ub9ac:<\/strong> \"\ud2b9\uc815 \ub0a0\uc9dc \ubc94\uc704 \ub0b4\uc758 \ubc30\uc5f4 \ud56d\ubaa9\uc5d0 \ub300\ud55c \ubc94\uc704 \ucffc\ub9ac\ub97c \uc218\ud589\ud560 \uc218 \uc788\ub3c4\ub85d \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc758 \ubb38\uc11c \ub0b4\uc5d0 \ud3ec\ud568\ub41c \uacc4\uc815 \uae30\ub85d \ubc30\uc5f4\uc744 \uc0c9\uc778\ud558\uace0 \uc2f6\uc2b5\ub2c8\ub2e4.\"<\/p>\n<p>\ub2e4\uc74c json \uad6c\uc870\ub97c \uace0\ub824\ud558\uc138\uc694:<\/p>\n<pre class=\"\">{ \r\n \"name\":\"\", \r\n \"username\":\"\", \r\n \"email\":\"\", \r\n \"address\":{ \r\n \"streetA\":\"\", \r\n \"streetC\":\"\", \r\n \"streetD\":\"\", \r\n \"city\":\"\", \r\n \"state\":\"\", \r\n \"country\":\"\", \r\n \"zipcode\":\"\" \r\n \"geo\": {\r\n \"lat\":\"\", \r\n \"lng\":\"\" \r\n }\r\n },\r\n \"phone\":\"\", \r\n \"website\":\"\", \r\n \"company\": {\r\n \"name\":\"\", \r\n \"catchPhrase\":\"\", \r\n \"bs\":\"\" \r\n },\r\n \"posts\": [\r\n {\r\n \"words\":\"\", \r\n \"sentence\":\"\", \r\n \"sentences\":\"\", \r\n \"paragraph\":\"\" \r\n },...\r\n ],\r\n \"accountHistory\": [\r\n {\r\n \"amount\":\"\", \r\n \"date\":\"\", \r\n \"business\":\"\", \r\n \"name\":\"\", \r\n \"type\":\"\", \r\n \"account\":\"\" \r\n },...\r\n ]\r\n}<\/pre>\n<p class=\"\">\ub77c\ub294 \ubc30\uc5f4\uc774 \uc788\uc2b5\ub2c8\ub2e4. <strong>\uacc4\uc815 \uae30\ub85d<\/strong>\u00a0\ub97c \uc0ac\uc6a9\ud558\uc5ec 0-N \uac1c\uc758 \ud56d\ubaa9\uc744 \ud3ec\ud568\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.   \ud2b9\uc815 \ub0a0\uc9dc \ubc94\uc704\ub97c \ucffc\ub9ac\ud558\uace0 \uc2f6\uc73c\uba74 <strong>\ub0a0\uc9dc<\/strong> \ud544\ub4dc\uc5d0 \uc785\ub825\ud569\ub2c8\ub2e4.<\/p>\n<pre class=\"\">CREATE INDEX date_range ON\r\n default(DISTINCT ARRAY v.date FOR v IN accountHistory END)<\/pre>\n<p class=\"\">\ub2e4\uc74c\uc744 \uc0ac\uc6a9\ud558\uc5ec \uace0\uc720\ud55c \uc778\ub371\uc2a4 \ud56d\ubaa9\uc744 \ub9cc\ub4e4\uc5c8\uc2b5\ub2c8\ub2e4.\u00a0<a href=\"https:\/\/developer.couchbase.com\/documentation\/server\/current\/n1ql\/n1ql-language-reference\/indexing-arrays.html\"><strong>DISTINCT<\/strong><\/a>\u00a0\uac01\uac01\uc5d0 \ub300\ud574 <strong>\ub0a0\uc9dc<\/strong> \ud544\ub4dc\ub97c \ucd94\uac00\ud569\ub2c8\ub2e4.   \uc989, \ud074\ub7ec\uc2a4\ud130\uc5d0 \uc788\ub294 \ubaa8\ub4e0 \ubb38\uc11c\uc5d0 \ub300\ud574 <strong>\uacc4\uc815 \uae30\ub85d<\/strong> \uacc4\uc815 \uae30\ub85d \ud56d\ubaa9\uc5d0 \"\" \ud544\ub4dc\uac00 \uc788\ub294 \ud55c \ub0b4 \uc778\ub371\uc2a4\uc5d0 \ud3ec\ud568\ub429\ub2c8\ub2e4.<strong>\ub0a0\uc9dc<\/strong>\".  \uacc4\uc815 \uae30\ub85d \ubc30\uc5f4\uc5d0 \uc5ec\ub7ec \uc720\ud615\uc758 \ud56d\ubaa9\uc774 \uc788\uc744 \uc218 \uc788\uc73c\uba70 \ub0a0\uc9dc \ud544\ub4dc\uac00 \uc788\ub294 \ud56d\ubaa9\ub9cc \ud3ec\ud568\ub418\uae30\ub97c \uc6d0\ud569\ub2c8\ub2e4.  \ub0a0\uc9dc \ud544\ub4dc\uac00 \uc5c6\ub294 \uacbd\uc6b0 \uc778\ub371\uc11c\ub294 \ud574\ub2f9 \ud56d\ubaa9\uc744 \uc778\ub371\uc2a4\uc5d0 \ud3ec\ud568\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.  \uc774\uc81c \ucffc\ub9ac \uc220\uc5b4\uc5d0 \ub0a0\uc9dc \ubc94\uc704\ub97c \ud3ec\ud568\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4:<\/p>\n<pre class=\"\">SELECT default.email, v.account, v.type, v.amount, v.name, v.email\r\n FROM default\r\n UNNEST accountHistory v\r\nWHERE v.date BETWEEN '2016-02-01T00:00:00.000Z' AND '2017-06-01T00:00:00.000Z'<\/pre>\n<p class=\"\">\ucffc\ub9ac\uc5d0\uc11c \uc81c\uac00 \uac00\uc7a5 \uc88b\uc544\ud558\ub294 N1QL\uc758 \ub2e4\ub978 \uae30\ub2a5 \uc911 \ud558\ub098\ub97c \uc0ac\uc6a9\ud588\uc2b5\ub2c8\ub2e4:\u00a0<a href=\"https:\/\/developer.couchbase.com\/documentation\/server\/current\/n1ql\/n1ql-language-reference\/from.html#story-h2-5\"><strong>UNNEST<\/strong><\/a>.   \uc774\ub97c \ud1b5\ud574 JSON\uc744 \ud615\uc131\ud558\uace0 \uacb0\uacfc\uc5d0 \ub8e8\ud2b8 \ubb38\uc11c \uc218\uc900 \ud544\ub4dc\ub97c \ub2e4\uc2dc \ud3ec\ud568\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.   \ub0b4 \ucffc\ub9ac\uc5d0\uc11c \ubc18\ud658\ub418\ub294 \uac01 \ud56d\ubaa9\uc5d0\ub294 \ub0b4 \uc220\uc5b4\uc758 \ub0a0\uc9dc \ubc94\uc704 \ub0b4\uc5d0 \uc788\ub294 \uacc4\uc815 \uae30\ub85d \uc815\ubcf4\uac00 \ud3ec\ud568\ub429\ub2c8\ub2e4.  \ub610\ud55c \uc774 \uc815\ubcf4\ub97c \ubcf4\ub0b8 \ubb38\uc11c\uc758 \uc774\uba54\uc77c \uc8fc\uc18c\ub3c4 \ud3ec\ud568\ub418\uae30\ub97c \uc6d0\ud558\uba70, \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc5d0\uc11c \uc774\ub97c \ucd94\ucd9c\ud558\uae30 \uc704\ud574 \ucd94\uac00\uc801\uc778 JSON \uad6c\ubb38 \ubd84\uc11d \ub85c\uc9c1\uc744 \uc791\uc131\ud558\uace0 \uc2f6\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.   \uc774\uac83\uc774 \ubc14\ub85c unnest\ub97c \uc0ac\uc6a9\ud558\ub294 \ud798\uc785\ub2c8\ub2e4.  \ucffc\ub9ac\ub294 \ub2e4\uc74c\uc744 \ubc18\ud658\ud569\ub2c8\ub2e4:<\/p>\n<pre class=\"\">\"results\": [\r\n {\r\n \"account\": \"68475391\",\r\n \"amount\": \"416.37\",\r\n \"date\": \"2016-02-01T00:00:00.000Z\",\r\n \"email\": \"Emmanuel.Labadie72@gmail.com\",\r\n \"name\": \"Credit Card Account 0008\",\r\n \"type\": \"invoice\"\r\n },...<\/pre>\n<p class=\"\"><strong>\uc0ac\uc6a9\ud574 \ubcf4\uc138\uc694:<\/strong>\u00a0Docker\ub294 \uc81c\uac00 \uac1c\ubc1c \ud658\uacbd\uc744 \uc2dc\uc791\ud558\ub294 \ub370 \uac00\uc7a5 \uc88b\uc544\ud558\ub294 \ubc29\ubc95\uc785\ub2c8\ub2e4.   \uc704\uc758 \uc608\uc81c\uc5d0 \ub300\ud55c \uc0ac\uc6a9\ud558\uae30 \uc26c\uc6b4 \ub9ac\ud3ec\uc9c0\ud1a0\ub9ac\ub294 github\uc5d0 \uc788\uc2b5\ub2c8\ub2e4: <a href=\"https:\/\/github.com\/ToddGreenstein\/n1ql-query-nodejs\">n1ql-query-nodejs <\/a>.  \ub3c4\ucee4 \ucef4\ud3ec\uc988\ub97c \uc0ac\uc6a9\ud558\uc5ec \ub450 \uac1c\uc758 \uc11c\ube44\uc2a4\ub97c \ube4c\ub4dc\ud569\ub2c8\ub2e4:<\/p>\n<ol>\n<li>\ub2e8\uc77c \ub178\ub4dc \uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \ud074\ub7ec\uc2a4\ud130 \uc11c\ube44\uc2a4\uc785\ub2c8\ub2e4.<\/li>\n<li>\ubb38\uc11c \ubc30\uc5f4\uc5d0 \ub300\ud55c \ub0a0\uc9dc \ubc94\uc704 \ucffc\ub9ac\ub97c \ube44\ub86f\ud55c \uc5ec\ub7ec \uc608\uc81c\uc5d0 \ub300\ud55c 250,000\uac1c\uc758 \uc0ac\uc6a9\uc790 \ud504\ub85c\ud544\uacfc \uc778\ub371\uc2a4\ub85c Couchbase \ud074\ub7ec\uc2a4\ud130\ub97c \ud504\ub85c\ube44\uc800\ub2dd\ud558\ub294 nodejs \uc11c\ube44\uc2a4\uc785\ub2c8\ub2e4.<\/li>\n<\/ol>","protected":false},"excerpt":{"rendered":"<p>Querying and indexing document arrays is one of the most powerful features of Couchbase. \u00a0Finding array entries within a specific date range is a common requirement. \u00a0Consider the following use case. User Story: &#8220;I want to index an embedded account [&hellip;]<\/p>","protected":false},"author":20,"featured_media":13873,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1822,1812],"tags":[2012,1519],"ppma_author":[9019],"class_list":["post-3737","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-node-js","category-n1ql-query","tag-array-indexing","tag-docker"],"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>Querying Date Ranges within Embedded JSON Document Arrays. A Simple Example Using N1QL, Nodejs and Docker - The Couchbase Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.couchbase.com\/blog\/ko\/querying-date-ranges-within-embedded-json-document-arrays-simple-example-using-n1ql-nodejs-docker\/\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Querying Date Ranges within Embedded JSON Document Arrays. A Simple Example Using N1QL, Nodejs and Docker\" \/>\n<meta property=\"og:description\" content=\"Querying and indexing document arrays is one of the most powerful features of Couchbase. \u00a0Finding array entries within a specific date range is a common requirement. \u00a0Consider the following use case. User Story: &#8220;I want to index an embedded account [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/ko\/querying-date-ranges-within-embedded-json-document-arrays-simple-example-using-n1ql-nodejs-docker\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2017-07-18T19:37:02+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=\"Todd Greenstein\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@todd_greenstein\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Todd Greenstein\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/querying-date-ranges-within-embedded-json-document-arrays-simple-example-using-n1ql-nodejs-docker\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/querying-date-ranges-within-embedded-json-document-arrays-simple-example-using-n1ql-nodejs-docker\/\"},\"author\":{\"name\":\"Todd Greenstein\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/64b5d1e5969768c5d63c11c696951ed3\"},\"headline\":\"Querying Date Ranges within Embedded JSON Document Arrays. A Simple Example Using N1QL, Nodejs and Docker\",\"datePublished\":\"2017-07-18T19:37:02+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/querying-date-ranges-within-embedded-json-document-arrays-simple-example-using-n1ql-nodejs-docker\/\"},\"wordCount\":390,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/querying-date-ranges-within-embedded-json-document-arrays-simple-example-using-n1ql-nodejs-docker\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"keywords\":[\"Array Indexing\",\"docker\"],\"articleSection\":[\"Node.js\",\"SQL++ \/ N1QL Query\"],\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/querying-date-ranges-within-embedded-json-document-arrays-simple-example-using-n1ql-nodejs-docker\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/querying-date-ranges-within-embedded-json-document-arrays-simple-example-using-n1ql-nodejs-docker\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/querying-date-ranges-within-embedded-json-document-arrays-simple-example-using-n1ql-nodejs-docker\/\",\"name\":\"Querying Date Ranges within Embedded JSON Document Arrays. A Simple Example Using N1QL, Nodejs and Docker - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/querying-date-ranges-within-embedded-json-document-arrays-simple-example-using-n1ql-nodejs-docker\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/querying-date-ranges-within-embedded-json-document-arrays-simple-example-using-n1ql-nodejs-docker\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2017-07-18T19:37:02+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/querying-date-ranges-within-embedded-json-document-arrays-simple-example-using-n1ql-nodejs-docker\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/querying-date-ranges-within-embedded-json-document-arrays-simple-example-using-n1ql-nodejs-docker\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/querying-date-ranges-within-embedded-json-document-arrays-simple-example-using-n1ql-nodejs-docker\/#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\/querying-date-ranges-within-embedded-json-document-arrays-simple-example-using-n1ql-nodejs-docker\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Querying Date Ranges within Embedded JSON Document Arrays. A Simple Example Using N1QL, Nodejs and Docker\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ko-KR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/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\/64b5d1e5969768c5d63c11c696951ed3\",\"name\":\"Todd Greenstein\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/abfbe093983052aa28595343c19888ce\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/f230045f7f6e636cf01abbd35f1cbf66a1206fbe149a0d4f0bbdd992c646257d?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/f230045f7f6e636cf01abbd35f1cbf66a1206fbe149a0d4f0bbdd992c646257d?s=96&d=mm&r=g\",\"caption\":\"Todd Greenstein\"},\"description\":\"Todd Greenstein is a Solution Architect at Couchbase. Todd is specialize in API design, architecture, data modeling, nodejs and golang development.\",\"sameAs\":[\"https:\/\/x.com\/todd_greenstein\"],\"url\":\"https:\/\/www.couchbase.com\/blog\/ko\/author\/todd-greenstein\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Querying Date Ranges within Embedded JSON Document Arrays. A Simple Example Using N1QL, Nodejs and Docker - The Couchbase Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.couchbase.com\/blog\/ko\/querying-date-ranges-within-embedded-json-document-arrays-simple-example-using-n1ql-nodejs-docker\/","og_locale":"ko_KR","og_type":"article","og_title":"Querying Date Ranges within Embedded JSON Document Arrays. A Simple Example Using N1QL, Nodejs and Docker","og_description":"Querying and indexing document arrays is one of the most powerful features of Couchbase. \u00a0Finding array entries within a specific date range is a common requirement. \u00a0Consider the following use case. User Story: &#8220;I want to index an embedded account [&hellip;]","og_url":"https:\/\/www.couchbase.com\/blog\/ko\/querying-date-ranges-within-embedded-json-document-arrays-simple-example-using-n1ql-nodejs-docker\/","og_site_name":"The Couchbase Blog","article_published_time":"2017-07-18T19:37:02+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":"Todd Greenstein","twitter_card":"summary_large_image","twitter_creator":"@todd_greenstein","twitter_misc":{"Written by":"Todd Greenstein","Est. reading time":"2\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/querying-date-ranges-within-embedded-json-document-arrays-simple-example-using-n1ql-nodejs-docker\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/querying-date-ranges-within-embedded-json-document-arrays-simple-example-using-n1ql-nodejs-docker\/"},"author":{"name":"Todd Greenstein","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/64b5d1e5969768c5d63c11c696951ed3"},"headline":"Querying Date Ranges within Embedded JSON Document Arrays. A Simple Example Using N1QL, Nodejs and Docker","datePublished":"2017-07-18T19:37:02+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/querying-date-ranges-within-embedded-json-document-arrays-simple-example-using-n1ql-nodejs-docker\/"},"wordCount":390,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/querying-date-ranges-within-embedded-json-document-arrays-simple-example-using-n1ql-nodejs-docker\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","keywords":["Array Indexing","docker"],"articleSection":["Node.js","SQL++ \/ N1QL Query"],"inLanguage":"ko-KR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/querying-date-ranges-within-embedded-json-document-arrays-simple-example-using-n1ql-nodejs-docker\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/querying-date-ranges-within-embedded-json-document-arrays-simple-example-using-n1ql-nodejs-docker\/","url":"https:\/\/www.couchbase.com\/blog\/querying-date-ranges-within-embedded-json-document-arrays-simple-example-using-n1ql-nodejs-docker\/","name":"Querying Date Ranges within Embedded JSON Document Arrays. A Simple Example Using N1QL, Nodejs and Docker - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/querying-date-ranges-within-embedded-json-document-arrays-simple-example-using-n1ql-nodejs-docker\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/querying-date-ranges-within-embedded-json-document-arrays-simple-example-using-n1ql-nodejs-docker\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2017-07-18T19:37:02+00:00","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/querying-date-ranges-within-embedded-json-document-arrays-simple-example-using-n1ql-nodejs-docker\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/querying-date-ranges-within-embedded-json-document-arrays-simple-example-using-n1ql-nodejs-docker\/"]}]},{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.couchbase.com\/blog\/querying-date-ranges-within-embedded-json-document-arrays-simple-example-using-n1ql-nodejs-docker\/#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\/querying-date-ranges-within-embedded-json-document-arrays-simple-example-using-n1ql-nodejs-docker\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Querying Date Ranges within Embedded JSON Document Arrays. A Simple Example Using N1QL, Nodejs and Docker"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \ube14\ub85c\uadf8","description":"NoSQL \ub370\uc774\ud130\ubca0\uc774\uc2a4, Couchbase","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ko-KR"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \ube14\ub85c\uadf8","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/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\/64b5d1e5969768c5d63c11c696951ed3","name":"\ud1a0\ub4dc \uadf8\ub9b0\uc2a4\ud0c0\uc778","image":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/abfbe093983052aa28595343c19888ce","url":"https:\/\/secure.gravatar.com\/avatar\/f230045f7f6e636cf01abbd35f1cbf66a1206fbe149a0d4f0bbdd992c646257d?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/f230045f7f6e636cf01abbd35f1cbf66a1206fbe149a0d4f0bbdd992c646257d?s=96&d=mm&r=g","caption":"Todd Greenstein"},"description":"Todd Greenstein is a Solution Architect at Couchbase. Todd is specialize in API design, architecture, data modeling, nodejs and golang development.","sameAs":["https:\/\/x.com\/todd_greenstein"],"url":"https:\/\/www.couchbase.com\/blog\/ko\/author\/todd-greenstein\/"}]}},"authors":[{"term_id":9019,"user_id":20,"is_guest":0,"slug":"todd-greenstein","display_name":"Todd Greenstein","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/f230045f7f6e636cf01abbd35f1cbf66a1206fbe149a0d4f0bbdd992c646257d?s=96&d=mm&r=g","author_category":"","last_name":"Greenstein","first_name":"Todd","job_title":"","user_url":"","description":"\ud1a0\ub4dc \uadf8\ub9b0\uc2a4\ud0c0\uc778\uc740 \uce74\uc6b0\uce58\ubca0\uc774\uc2a4\uc758 \uc194\ub8e8\uc158 \uc544\ud0a4\ud14d\ud2b8\uc785\ub2c8\ub2e4. Todd\ub294 API \uc124\uacc4, \uc544\ud0a4\ud14d\ucc98, \ub370\uc774\ud130 \ubaa8\ub378\ub9c1, nodejs \ubc0f \uace8\ub791 \uac1c\ubc1c\uc744 \uc804\ubb38\uc73c\ub85c \ud569\ub2c8\ub2e4."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/posts\/3737","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/users\/20"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/comments?post=3737"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/posts\/3737\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/media\/13873"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/media?parent=3737"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/categories?post=3737"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/tags?post=3737"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/ppma_author?post=3737"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}