{"id":7255,"date":"2019-08-09T10:00:42","date_gmt":"2019-08-09T17:00:42","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=7255"},"modified":"2023-05-25T04:26:23","modified_gmt":"2023-05-25T11:26:23","slug":"get-started-with-couchbase-collections-using-the-demo-app","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/ko\/get-started-with-couchbase-collections-using-the-demo-app\/","title":{"rendered":"\ub370\ubaa8 \uc571\uc744 \uc0ac\uc6a9\ud558\uc5ec \uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \uceec\ub809\uc158 \uc2dc\uc791\ud558\uae30"},"content":{"rendered":"<p>\uceec\ub809\uc158\uc740 Couchbase 6.5\uc758 \uc0c8\ub85c\uc6b4 \uae30\ub2a5\uc785\ub2c8\ub2e4. \uceec\ub809\uc158\uc744 \uc0ac\uc6a9\ud558\uba74 \uad00\uacc4\ud615 \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc758 \ud14c\uc774\ube14\uc774 \uac01 \ub370\uc774\ud130\ubca0\uc774\uc2a4 \ub0b4\uc5d0\uc11c \uc720\uc0ac\ud55c \ub808\ucf54\ub4dc\ub97c \uc218\uc9d1\ud558\ub294 \uac83\ucc98\ub7fc \uac01 \ubc84\ud0b7 \ub0b4\uc5d0\uc11c \uc720\uc0ac\ud55c \ubb38\uc11c\ub97c \uadf8\ub8f9\ud654\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uceec\ub809\uc158\uc740 Couchbase 7.0\uc5d0\uc11c \uc644\uc804\ud788 \uc9c0\uc6d0\ub420 \uc608\uc815\uc774\uc9c0\ub9cc, \uc9c0\uae08 \ubc14\ub85c Couchbase 6.5 \ub9b4\ub9ac\uc2a4\uc5d0\uc11c \uac1c\ubc1c\uc790 \ud504\ub9ac\ubdf0 \uae30\ub2a5\uc73c\ub85c \uc0ac\uc6a9\ud574 \ubcfc \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub370\ubaa8 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc5d0\uc11c\ub294 \uc774\ubbf8 \uceec\ub809\uc158\uc744 \uc0ac\uc6a9\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p><strong>\uceec\ub809\uc158\uc774\ub780 \ubb34\uc5c7\uc778\uac00\uc694?<\/strong><br \/>\n\uad00\uacc4\ud615 \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc758 \uc138\uacc4\uc5d0\uc11c \uc654\ub2e4\uba74 \uceec\ub809\uc158\uc744 \ud14c\uc774\ube14\ub85c \uc0dd\uac01\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uad00\uacc4\ud615 \ud14c\uc774\ube14\uc758 \ubaa8\ub4e0 \ub808\ucf54\ub4dc\uac00 \uac19\uc740 \uc720\ud615\uc778 \uac83\ucc98\ub7fc \uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \uceec\ub809\uc158 \ub0b4\uc758 \ubaa8\ub4e0 \ubb38\uc11c\ub294 \uac19\uc740 \uc720\ud615\uc774\uc5b4\uc57c \ud569\ub2c8\ub2e4. \uad00\uacc4\ud615 \uc2a4\ud0a4\ub9c8\uc5d0\ub294 '\uace0\uac1d' \ud14c\uc774\ube14\uc774\ub098 '\uc81c\ud488' \ud14c\uc774\ube14\uc774 \uc788\uc744 \uc218 \uc788\uace0, \ub9c8\ucc2c\uac00\uc9c0\ub85c \uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \ubc84\ud0b7\uc5d0\ub294 '\uace0\uac1d' \uceec\ub809\uc158\uc774 \uc788\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\uc774\uc804 \ubc84\uc804\uc758 Couchbase\uc5d0\uc11c\ub294 \ub370\uc774\ud130\uac00 \ub2e4\uc74c\uacfc \uac19\uc774 \uad6c\uc131\ub418\uc5c8\uc2b5\ub2c8\ub2e4:<\/p>\n<ul>\n<li>\ud074\ub7ec\uc2a4\ud130\n<ul>\n<li>\ubc84\ud0b7\n<ul>\n<li>\ubb38\uc11c<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>Couchbase 6.5\uc5d0\uc11c\ub294 \ub2e4\uc74c\uacfc \uac19\uc774 \ub450 \uac1c\uc758 \ub808\uc774\uc5b4\uac00 \ub354 \uc788\uc2b5\ub2c8\ub2e4:<\/p>\n<ul>\n<li>\ud074\ub7ec\uc2a4\ud130\n<ul>\n<li>\ubc84\ud0b7\n<ul>\n<li><strong>\ubc94\uc704<\/strong>\n<ul>\n<li><strong>\uceec\ub809\uc158<\/strong>\n<ul>\n<li>\ubb38\uc11c<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><b>\uceec\ub809\uc158\uc740 \uc5b4\ub5bb\uac8c \uc720\uc6a9\ud560\uae4c\uc694?<\/b><\/p>\n<p>\uceec\ub809\uc158\uc740 \uac00\uc7a5 \ub0ae\uc740 \uc218\uc900\uc758 \ubb38\uc11c \uc815\ub9ac\uc774\uba70 \ubb38\uc11c\ub97c \uc9c1\uc811 \ud3ec\ud568\ud569\ub2c8\ub2e4. \uceec\ub809\uc158\uc740 \uc774\uc804\ubcf4\ub2e4 \ub354 \uc815\ud655\ud558\uac8c \ubb38\uc11c\ub97c \uadf8\ub8f9\ud654\ud560 \uc218 \uc788\uae30 \ub54c\ubb38\uc5d0 \uc720\uc6a9\ud569\ub2c8\ub2e4. \ub2e4\uc591\ud55c \uc720\ud615\uc758 \ubb38\uc11c(\uc81c\ud488, \uc8fc\ubb38, \uace0\uac1d)\ub97c \ubaa8\ub450 \ud558\ub098\uc758 \ubc84\ud0b7\uc5d0 \ub364\ud504\ud558\uace0 \uc720\ud615 \ud544\ub4dc\ub85c \uad6c\ubd84\ud558\ub294 \ub300\uc2e0 \uac01 \uc720\ud615\uc5d0 \ub300\ud574 \uceec\ub809\uc158\uc744 \ub9cc\ub4e4 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uadf8\ub9ac\uace0 \ucffc\ub9ac\ud560 \ub54c \uc804\uccb4 \ubc84\ud0b7\uc774 \uc544\ub2cc \uceec\ub809\uc158\uc744 \ub300\uc0c1\uc73c\ub85c \ucffc\ub9ac\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub610\ud55c \uad81\uadf9\uc801\uc73c\ub85c\ub294 \uceec\ub809\uc158 \uc218\uc900\uc5d0\uc11c \uc561\uc138\uc2a4\ub97c \uc81c\uc5b4\ud560 \uc218 \uc788\uac8c \ub429\ub2c8\ub2e4.<\/p>\n<p>\ubc94\uc704\ub294 \uceec\ub809\uc158\ubcf4\ub2e4 \uc0c1\uc704\uc758 \uc870\uc9c1 \uc218\uc900\uc785\ub2c8\ub2e4. \ubc94\uc704\uc5d0\ub294 \uceec\ub809\uc158\uc774 \ud3ec\ud568\ub418\uace0 \uceec\ub809\uc158\uc5d0\ub294 \ubb38\uc11c\uac00 \ud3ec\ud568\ub429\ub2c8\ub2e4. Couchbase \ud074\ub7ec\uc2a4\ud130\uc758 \uc6a9\ub3c4\uc5d0 \ub530\ub77c \ubc94\uc704\ub97c \uc0ac\uc6a9\ud558\ub294 \ubc29\ubc95\uc740 \uc5ec\ub7ec \uac00\uc9c0\uac00 \uc788\uc2b5\ub2c8\ub2e4. \ud68c\uc0ac\uc758 \ub2e4\uc591\ud55c \ub0b4\ubd80 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc744 \uc9c0\uc6d0\ud558\ub294 \uacbd\uc6b0 \uac01 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\ub9c8\ub2e4 \uace0\uc720\ud55c \ubc94\uc704\ub97c \uac00\uc838\uc57c \ud569\ub2c8\ub2e4. \ud074\ub7ec\uc2a4\ud130\uac00 \uac01\uac01 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc758 \uc790\uccb4 \ubcf5\uc0ac\ubcf8\uc744 \uc2e4\ud589\ud558\ub294 \uc5ec\ub7ec \ud074\ub77c\uc774\uc5b8\ud2b8 \uc870\uc9c1\uc5d0 \uc11c\ube44\uc2a4\ub97c \uc81c\uacf5\ud558\ub294 \ub370 \uc0ac\uc6a9\ub418\ub294 \uacbd\uc6b0, \uac01 \ubcf5\uc0ac\ubcf8\uc740 \uc790\uccb4 \ubc94\uc704\ub97c \uac00\uc838\uc57c \ud569\ub2c8\ub2e4. \ub9c8\ucc2c\uac00\uc9c0\ub85c, \uac1c\ubc1c \uadf8\ub8f9\uc5d0\uc11c \ud074\ub7ec\uc2a4\ud130\ub97c \ud14c\uc2a4\ud2b8\uc6a9\uc73c\ub85c \uc0ac\uc6a9\ud558\ub294 \uacbd\uc6b0 \ud560\ub2f9 \ub2e8\uc704\ub294 \uc2a4\ucf54\ud504\uc5ec\uc57c \ud569\ub2c8\ub2e4. \uac01\uac01\uc758 \uacbd\uc6b0\uc5d0 \uc18c\uc720\uc790\ub294 \ud560\ub2f9\ub41c \ubc94\uc704 \ub0b4\uc5d0\uc11c \uc6d0\ud558\ub294 \uceec\ub809\uc158\uc744 \ub9cc\ub4e4 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\ubc94\uc704\ub294 \ud574\ub2f9 \ubc84\ud0b7 \ub0b4\uc5d0\uc11c \uace0\uc720\ud574\uc57c \ud558\uace0 \uceec\ub809\uc158\uc740 \ud574\ub2f9 \ubc94\uc704 \ub0b4\uc5d0\uc11c \uace0\uc720\ud574\uc57c \ud569\ub2c8\ub2e4. \ub530\ub77c\uc11c '\uae30\ubcf8' \ubc84\ud0b7\uc5d0\ub294 \uac01\uac01 \uace0\uc720\ud55c '\uc81c\ud488' \ubc0f '\uace0\uac1d' \uceec\ub809\uc158\uc774 \uc788\ub294 \ub450 \uac1c\uc758 \ubc94\uc704 'dev'\uc640 'prod'\uac00 \ud3ec\ud568\ub420 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p><b>\uceec\ub809\uc158 \uc0ac\uc6a9<\/b><\/p>\n<p>\ucd5c\uc2e0 \ubc84\uc804\uc758 \uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \ub370\ubaa8 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc5d0\uc11c \uc0ac\uc6a9 \uc911\uc778 \uceec\ub809\uc158\uacfc \ubc94\uc704\ub294 \uc5ec\uae30\uc5d0\uc11c \ud655\uc778\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4:<\/p>\n<p><a href=\"https:\/\/github.com\/couchbaselabs\/try-cb-java\/tree\/6.5.0-branch\">https:\/\/github.com\/couchbaselabs\/try-cb-java\/tree\/6.5.0-branch<\/a><\/p>\n<p>\uc774 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc740 \uae30\uc874\uc758 '\uc5ec\ud589 \uc0d8\ud50c' \ubc84\ud0b7\uc744 \uadf8\ub300\ub85c \uc0ac\uc6a9\ud558\uc5ec \uc0ac\uc6a9\uc790\uac00 \ud56d\uacf5\ud3b8\uacfc \ud638\ud154\uc744 \uac80\uc0c9\ud560 \uc218 \uc788\ub3c4\ub85d \ud558\ub418, \uc790\uccb4 \uc0ac\uc6a9\uc790 \ubc0f \uc608\uc57d \ub370\uc774\ud130\ub97c \uceec\ub809\uc158\uc5d0 \uc800\uc7a5\ud569\ub2c8\ub2e4. \uc0ac\uc6a9 \uc911\uc778 \uad6c\uc870\ub294 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4:<\/p>\n<ul>\n<li style=\"font-weight: 400\">\ubc84\ud0b7: \uae30\ubcf8\uac12\n<ul>\n<li style=\"font-weight: 400\">\ubc94\uc704: \ub77c\uc2a8 \uc5ec\ud589\n<ul>\n<li style=\"font-weight: 400\">\uc218\uc9d1: \uc0ac\uc6a9\uc790<\/li>\n<li style=\"font-weight: 400\">\uc218\uc9d1: \ud56d\uacf5\ud3b8<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>\uc0ac\uc6a9\uc790\uac00 \uacc4\uc815\uc744 \ub9cc\ub4e4\uba74 '\uc0ac\uc6a9\uc790' \uceec\ub809\uc158\uc5d0 \ubb38\uc11c\uac00 \uc0dd\uc131\ub429\ub2c8\ub2e4. \uc0ac\uc6a9\uc790\uac00 \ud56d\uacf5\ud3b8\uc744 \uc608\uc57d\ud558\uba74 '\ud56d\uacf5\ud3b8' \uceec\ub809\uc158\uc5d0 \ubb38\uc11c\uac00 \uc0dd\uc131\ub418\uace0 '\uc0ac\uc6a9\uc790' \uceec\ub809\uc158\uc758 \uc0ac\uc6a9\uc790 \ubb38\uc11c\uc5d0\uc11c \ucc38\uc870\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\uc774 \ub514\uc790\uc778\uc744 \uc0ac\uc6a9\ud558\uba74 \uc5ec\ub7ec \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc774 \ub3d9\uc77c\ud55c \ubc84\ud0b7\uc744 \uacf5\uc720\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub2e4\ub978 \uc5ec\ud589\uc0ac\uc5d0\uc11c \uc0ac\uc6a9\ud558\ub294 \ub370\ubaa8 \uc571\uc758 \ub450 \ubc88\uc9f8 \uc778\uc2a4\ud134\uc2a4\uac00 \uc788\ub294 \uacbd\uc6b0, \uc790\uccb4 \"\uc0ac\uc6a9\uc790\" \ubc0f \"\ud56d\uacf5\ud3b8\" \uceec\ub809\uc158\uc774 \uc788\ub294 \ub2e4\ub978 \ubc94\uc704\ub97c \ub9cc\ub4e4\uace0 application.properties \ud30c\uc77c\uc744 \uc5c5\ub370\uc774\ud2b8\ud558\uc5ec \ub450 \ubc88\uc9f8 \uc778\uc2a4\ud134\uc2a4\uac00 \uc774 \ubc94\uc704\ub97c \uac00\ub9ac\ud0a4\ub3c4\ub85d \ud558\uba74 \ub429\ub2c8\ub2e4. \ub450 \uc778\uc2a4\ud134\uc2a4\ub294 \uc11c\ub85c \uac04\uc12d\ud558\uc9c0 \uc54a\uace0 \ub098\ub780\ud788 \uc791\ub3d9\ud569\ub2c8\ub2e4.<\/p>\n<p><b>\ucf54\ub4dc \uc608\uc2dc<\/b><\/p>\n<p>\uc6b0\uc120, \uc0ac\uc6a9\uc790 \ubc0f \uc608\uc57d \uc815\ubcf4\uac00 \ud3ec\ud568\ub41c \ubc84\ud0b7\uacfc \ubc94\uc704\uc758 \uc774\ub984\uc740 application.properties \ud30c\uc77c\uc5d0 \uc9c0\uc815\ub429\ub2c8\ub2e4:<\/p>\n<pre class=\"nums:false lang:default decode:true\">storage.clientorg.bucket=default\r\nstorage.clientorg.scope=larson-travel<\/pre>\n<p>\uc774\ub7ec\ud55c \uad6c\uc131 \uac12\uc740 Database.java \ud30c\uc77c\uc5d0\uc11c \uac00\uc838\uc635\ub2c8\ub2e4:<\/p>\n<pre class=\"nums:false lang:java decode:true\">@Configuration\r\npublic class Database {\r\n\r\n    ...\r\n\r\n    @Value(\"${storage.clientorg.bucket}\")\r\n    private String clientOrgBucket;\r\n\r\n    @Value(\"${storage.clientorg.scope}\")\r\n    private String clientOrgScope;\r\n\r\n    ...\r\n\r\n    public Bucket clientOrgBucket() {\r\n        return loginCluster().bucket(clientOrgBucket);\r\n    }\r\n\r\n    public @Bean Scope clientOrgScope() {\r\n        return clientOrgBucket().scope(clientOrgScope);\r\n    }\r\n\r\n}\r\n<\/pre>\n<p>User.java\uc5d0\uc11c\ub294 \uc0ac\uc6a9\uc790\uc5d0 \ub300\ud55c \uc0c8 \ud56d\uacf5\ud3b8\uc774 \ub4f1\ub85d\ub418\ub294 \ubc29\ubc95\uc744 \ubcfc \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc704\uc5d0\uc11c \uc0dd\uc131\ud55c \ubc94\uc704 \ube48\uc774 \uc804\ub2ec\ub429\ub2c8\ub2e4. \uc0ac\uc6a9\uc790 \uc774\ub984\uc740 \uc0ac\uc6a9\uc790\uac00 \ub85c\uadf8\uc778\ud55c \uc544\uc774\ub514\uc785\ub2c8\ub2e4.<\/p>\n<pre class=\"nums:false lang:java decode:true java\">    public Result&lt;Map&lt;String, Object&gt;&gt; registerFlightForUser(final Scope scope, \r\n        final String username, final JsonArray newFlights) {\r\n<\/pre>\n<p>\uc0ac\uc6a9\uc790 \ubb38\uc11c\uc758 ID\ub294 \uc0ac\uc6a9\uc790\uc758 \uc0ac\uc6a9\uc790 \uc774\ub984\uc785\ub2c8\ub2e4. \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc740 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc5d0\uc11c \uc0ac\uc6a9\ud558\ub294 \uceec\ub809\uc158\uc758 \"\uc0ac\uc6a9\uc790\" \uceec\ub809\uc158\uc5d0\uc11c \uac00\uc838\uc624\ub294 \uac83\uc744 \uc54c\uace0 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<pre class=\"nums:false lang:java decode:true\">        String userId = username;\r\n        Collection usersCollection = scope.collection(USERS_COLLECTION_NAME);\r\n        Collection flightsCollection = scope.collection(FLIGHTS_COLLECTION_NAME);\r\n        Optional&lt;GetResult&gt; userDataFetch = usersCollection.get(userId);\r\n        if (!userDataFetch.isPresent()) {\r\n            throw new IllegalStateException();\r\n        }\r\n        JsonObject userData = userDataFetch.get().contentAsObject();\r\n\r\n        if (newFlights == null) {\r\n            throw new IllegalArgumentException(\"No flights in payload\");\r\n        }\r\n\r\n        JsonArray added = JsonArray.empty();\r\n<\/pre>\n<p>\uc0ac\uc6a9\uc790\uac00 \uc608\uc57d\ud55c \ud56d\uacf5\ud3b8\uc740 \uc0ac\uc6a9\uc790 \ubb38\uc11c\uc5d0 '\ud56d\uacf5\ud3b8'\uc774\ub77c\ub294 \uc774\ub984\uc758 \ubc30\uc5f4\ub85c \uc800\uc7a5\ub429\ub2c8\ub2e4.<\/p>\n<pre class=\"nums:false lang:java decode:true\">        JsonArray allBookedFlights = userData.getArray(\"flights\");\r\n        if(allBookedFlights == null) {\r\n            allBookedFlights = JsonArray.create();\r\n        }\r\n<\/pre>\n<p>\uae30\uc874 \ud56d\uacf5\ud3b8\uc5d0 \uc0c8 \ud56d\uacf5\ud3b8\uc744 \ucd94\uac00\ud569\ub2c8\ub2e4.<\/p>\n<pre class=\"nums:false lang:java decode:true\">        for (Object newFlight : newFlights) {\r\n            checkFlight(newFlight);\r\n            JsonObject t = ((JsonObject) newFlight);\r\n            t.put(\"bookedon\", \"try-cb-java\");\r\n            String flightId = UUID.randomUUID().toString();\r\n            flightsCollection.insert(flightId, t);\r\n            allBookedFlights.add(flightId);\r\n            added.add(t);\r\n        }\r\n\r\n        userData.put(\"flights\", allBookedFlights);\r\n<\/pre>\n<p>\uadf8\ub7f0 \ub2e4\uc74c \uc0c8 \ubc84\uc804\uc758 \uc0ac\uc6a9\uc790 \ubb38\uc11c\ub97c \uc800\uc7a5\ud569\ub2c8\ub2e4.<\/p>\n<pre class=\"nums:false lang:java decode:true\">        usersCollection.upsert(userId, userData);\r\n\r\n        JsonObject responseData = JsonObject.create()\r\n            .put(\"added\", added);\r\n\r\n        return Result.of(responseData.toMap(), \r\n            \"Booked flight in Couchbase document \" + userId);\r\n    }\r\n<\/pre>\n<p>\ubc14\ub85c \uc544\ub798\uc5d0\uc11c \uc0ac\uc6a9\uc790\uc758 \ud56d\uacf5\ud3b8\uc774 \uac80\uc0c9\ub418\ub294 \ubc29\uc2dd\uc744 \ud655\uc778\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<pre class=\"nums:false lang:java decode:true\">    public List&lt;Map&lt;String, Object&gt;&gt; getFlightsForUser(final Scope scope, \r\n        final String username) {\r\n<\/pre>\n<p>'\uc0ac\uc6a9\uc790' \uceec\ub809\uc158\uc5d0\uc11c \uc0ac\uc6a9\uc790 \ubb38\uc11c\ub97c \uac00\uc838\uc635\ub2c8\ub2e4.<\/p>\n<pre class=\"nums:false lang:java decode:true\">        Collection users = scope.collection(USERS_COLLECTION_NAME);\r\n        Optional&lt;GetResult&gt; doc = users.get(username);\r\n        if (!doc.isPresent()) {\r\n            return Collections.emptyList();\r\n        }\r\n        JsonObject data = doc.get().contentAsObject();\r\n<\/pre>\n<p>\uc0ac\uc6a9\uc790 \ubb38\uc11c\uc5d0\uc11c '\ud56d\uacf5\ud3b8' \ubc30\uc5f4\uc744 \uac00\uc838\uc635\ub2c8\ub2e4. \uc5ec\uae30\uc5d0\ub294 \ud56d\uacf5\ud3b8 ID \ubaa9\ub85d\uc774 \ud3ec\ud568\ub429\ub2c8\ub2e4.<\/p>\n<pre class=\"nums:false lang:default decode:true\">        JsonArray flights = data.getArray(\"flights\");\r\n        if (flights == null) {\r\n            return Collections.emptyList();\r\n        }\r\n<\/pre>\n<p>ID\ub85c '\ud56d\uacf5\ud3b8' \uceec\ub809\uc158\uc5d0\uc11c \uac01 \ud56d\uacf5\ud3b8 \ubb38\uc11c\ub97c \uac80\uc0c9\ud569\ub2c8\ub2e4.<\/p>\n<pre class=\"nums:false lang:java decode:true\">        \/\/ The \"flights\" array contains flight ids. Convert them to actual objects.\r\n        Collection flightsCollection = scope.collection(FLIGHTS_COLLECTION_NAME);\r\n        List&lt;Map&lt;String, Object&gt;&gt; results = new ArrayList&lt;Map&lt;String, Object&gt;&gt;();\r\n        for (int i = 0; i &lt; flights.size(); i++) {\r\n            String flightId = flights.getString(i);\r\n            Optional&lt;GetResult&gt; res = flightsCollection.get(flightId);\r\n            if (!res.isPresent()) {\r\n                throw new RuntimeException(\"Unable to retrieve flight id \" + flightId);\r\n            }\r\n            Map&lt;String, Object&gt; flight = res.get().contentAsObject().toMap();\r\n            results.add(flight);\r\n        }\r\n        return results;\r\n    }\r\n<\/pre>\n<p><b>\uc774\uc804 \ucf54\ub4dc\uc5d0\uc11c \ubcc0\uacbd\ub41c \uc0ac\ud56d<\/b><\/p>\n<p>\uceec\ub809\uc158\uc744 \uc0ac\uc6a9\ud558\uc9c0 \uc54a\uc558\ub358 \uc774\uc804 \ubc84\uc804\uc5d0\uc11c\ub294 \uc0ac\uc6a9\uc790 \ubc0f \uc0ac\uc6a9\uc790 \ud56d\uacf5\ud3b8\uc5d0 \ub300\ud55c \uc791\uc5c5 \ucf54\ub4dc\uac00 \uc0c1\ub2f9\ud788 \ub2ec\ub790\uc2b5\ub2c8\ub2e4. \uc774\uc804 \ubc84\uc804\uc5d0\uc11c\ub294 \uc608\uc57d\ub41c \ud56d\uacf5\ud3b8\uc774 \uc0ac\uc6a9\uc790 \ubb38\uc11c\uc5d0 \uc9c1\uc811 \uc800\uc7a5\ub418\uc5c8\uc2b5\ub2c8\ub2e4. \uc0ac\uc6a9\uc790 \ubb38\uc11c\ub294 '\uc5ec\ud589 \uc0d8\ud50c' \ud14c\uc774\ube14\uc5d0 \uc9c1\uc811 \uc800\uc7a5\ub418\uc5c8\uc2b5\ub2c8\ub2e4. \ub2e4\uc74c\uc740 registerFlightForUser() \ud568\uc218\uc758 \uc6d0\ubcf8 \ucf54\ub4dc\uc785\ub2c8\ub2e4.<\/p>\n<pre class=\"nums:false lang:java decode:true\">   public Result&lt;Map&lt;String, Object&gt;&gt; registerFlightForUser(final Bucket bucket,\r\n \tfinal String username, final JsonArray newFlights) {\r\n<\/pre>\n<p>\ubb38\uc11c \uc720\ud615\uc744 \ud45c\uc2dc\ud558\uae30 \uc704\ud574 \uc811\ub450\uc0ac\ub97c \uc0ac\uc6a9\ud558\ub294 \uac83\uc744 \uc8fc\ubaa9\ud558\uc138\uc694. \uceec\ub809\uc158\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\uac8c \ub418\uba74 \uc774 \uc811\ub450\uc0ac\ub294 \ud544\uc694\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/p>\n<pre class=\"nums:false lang:java decode:true\">        JsonDocument userData = bucket.get(\"user::\" + username);\r\n        if (userData == null) {\r\n            throw new IllegalStateException();\r\n        }\r\n\r\n        if (newFlights == null) {\r\n            throw new IllegalArgumentException(\"No flights in payload\");\r\n        }\r\n\r\n        JsonArray added = JsonArray.empty();\r\n<\/pre>\n<p>\ubb38\uc11c\uc5d0 \uc774\ubbf8 \uc788\ub294 \ud56d\uacf5\ud3b8 \ubc30\uc5f4\uc744 \uac80\uc0c9\ud569\ub2c8\ub2e4.<\/p>\n<pre class=\"nums:false lang:java decode:true\">        JsonArray allBookedFlights = userData.content().getArray(\"flights\");\r\n        if(allBookedFlights == null) {\r\n            allBookedFlights = JsonArray.create();\r\n        }\r\n\r\n        for (Object newFlight : newFlights) {\r\n            checkFlight(newFlight);\r\n            JsonObject t = ((JsonObject) newFlight);\r\n            t.put(\"bookedon\", \"try-cb-java\");\r\n<\/pre>\n<p>\uc608\uc57d\ub41c \ud56d\uacf5\ud3b8 \ubc30\uc5f4\uc5d0 \ud56d\uacf5\ud3b8\uc744 \ucd94\uac00\ud569\ub2c8\ub2e4.<\/p>\n<pre class=\"nums:false lang:java decode:true\">            allBookedFlights.add(t);\r\n            added.add(t);\r\n        }\r\n\r\n        userData.content().put(\"flights\", allBookedFlights);\r\n<\/pre>\n<p>\uadf8\ub9ac\uace0 \uc0ac\uc6a9\uc790 \ubb38\uc11c\ub97c \uc800\uc7a5\ud569\ub2c8\ub2e4.<\/p>\n<pre class=\"nums:false lang:java decode:true\">        JsonDocument response = bucket.upsert(userData);\r\n\r\n        JsonObject responseData = JsonObject.create()\r\n            .put(\"added\", added);\r\n\r\n        return Result.of(responseData.toMap(), \"Booked flight in Couchbase document \" + response.id());\r\n    }\r\n<\/pre>\n<p>\ubb3c\ub860 \uc7a5\ub09c\uac10 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc5d0\uc11c \uc608\uc57d\ub41c \ud56d\uacf5\ud3b8\uc744 \uc0ac\uc6a9\uc790\ub85c\ubd80\ud130 \ubd84\ub9ac\ud558\ub294 \uac83\uc740 \uadf8\ub2e4\uc9c0 \ub9e4\ub825\uc801\uc774\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \ud558\uc9c0\ub9cc \uac01 \uc0ac\uc6a9\uc790\uc5d0 \ub300\ud55c \ub2e4\uc591\ud55c \uc720\ud615\uc758 \uc815\ubcf4\ub97c \uc800\uc7a5\ud558\ub294 \ud504\ub85c\ub355\uc158 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc5d0\uc11c\ub294 \uc77c\ubd80 \uae30\ub85d, \ud2b9\ud788 \uaddc\ubaa8\uac00 \ud06c\uac70\ub098 \uc218\uac00 \ub9ce\uac70\ub098 \uc790\uc8fc \ubcc0\uacbd\ub418\uae30 \uc26c\uc6b4 \uae30\ub85d\uc740 \uc0ac\uc6a9\uc790 \ubb38\uc11c \uc678\ubd80\uc5d0 \uc800\uc7a5\ud558\ub294 \uac83\uc774 \ud569\ub9ac\uc801\uc77c \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p><b>\ubc94\uc704 \ubc0f \uceec\ub809\uc158 \ubb38\uc11c<\/b><\/p>\n<p>\ubc94\uc704 \ubc0f \uceec\ub809\uc158\uc73c\ub85c \uc9c1\uc811 \uc791\uc5c5\ud558\ub294 \ubc29\ubc95\uc5d0 \ub300\ud574 \uc790\uc138\ud788 \uc54c\uc544\ubcf4\ub824\uba74 \ub2e4\uc74c\uc744 \ucc38\uc870\ud558\uc138\uc694. <a href=\"https:\/\/docs.couchbase.com\/server\/6.5\/developer-preview\/collections\/collections-overview.html\">\uc774 \ubb38\uc11c<\/a>\uc5d0\uc11c \ub450 \uac00\uc9c0 \uc791\uc5c5\uc744 \uc704\ud55c RESTful API, \uad00\ub828 CLI \uba85\ub839 \ubc0f \ub2e4\uc74c\uc5d0\uc11c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub294 \uceec\ub809\uc158\uc5d0 \ub300\ud55c \uc815\ubcf4\ub97c \uc124\uba85\ud569\ub2c8\ub2e4. <em>cbstats<\/em>.<\/p>\n<p><b>\uc694\uc57d<\/b><\/p>\n<p>\ud14c\uc774\ube14\uacfc \uc2a4\ud0a4\ub9c8\ub85c \uad00\uacc4\ud615 \ub370\uc774\ud130\ubca0\uc774\uc2a4 \ub0b4\uc5d0\uc11c \ud589\uc744 \uc815\ub9ac\ud558\ub294 \uac83\ucc98\ub7fc \uceec\ub809\uc158\uacfc \ubc94\uc704\ub97c \uc0ac\uc6a9\ud558\uba74 Couchbase \ubc84\ud0b7 \ub0b4\uc5d0\uc11c \ubb38\uc11c\ub97c \uc815\ub9ac\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ud604\uc7ac Couchbase 6.5 GA \ub9b4\ub9ac\uc988\ub294 \uac1c\ubc1c\uc790 \ud504\ub9ac\ubdf0 \uae30\ub2a5\uc73c\ub85c \uceec\ub809\uc158 \ubc0f \ubc94\uc704\ub97c \uc81c\ud55c\uc801\uc73c\ub85c \ucd08\uae30 \uc9c0\uc6d0\ud569\ub2c8\ub2e4. \uceec\ub809\uc158 \ubc0f \ubc94\uc704\ub97c \uc2dc\uc791\ud558\ub824\uba74 \uc9c0\uae08 \ubc14\ub85c Java \ub370\ubaa8 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc73c\ub85c \uc791\uc5c5\uc744 \uc2dc\uc791\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<h3>\ub9ac\uc18c\uc2a4<\/h3>\n<p class=\"p1\"><i>\ub2e4\uc6b4\ub85c\ub4dc<\/i><\/p>\n<p class=\"p2\"><span class=\"s1\"><a href=\"https:\/\/www.couchbase.com\/blog\/ko\/downloads\/?family=server&amp;product=couchbase-server-developer\">Couchbase Server 6.5 \ub2e4\uc6b4\ub85c\ub4dc<\/a><\/span><\/p>\n<p class=\"p1\"><i>\u00a0<\/i><i>\ubb38\uc11c<\/i><\/p>\n<p><a href=\"https:\/\/docs.couchbase.com\/server\/6.5\/developer-preview\/collections\/collections-overview.html\">\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \uceec\ub809\uc158 6.5 \ubb38\uc11c<\/a><\/p>\n<p class=\"p2\"><span class=\"s1\"><a href=\"https:\/\/docs.couchbase.com\/server\/6.5\/release-notes\/relnotes.html\">\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \uc11c\ubc84 6.5 \ub9b4\ub9ac\uc2a4 \ub178\ud2b8<\/a><\/span><\/p>\n<p class=\"p2\"><span class=\"s1\"><a href=\"https:\/\/docs.couchbase.com\/server\/6.5\/introduction\/whats-new.html\">\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \uc11c\ubc84 6.5\uc758 \uc0c8\ub85c\uc6b4 \uae30\ub2a5<\/a><\/span><\/p>\n<p class=\"p1\"><i>\ube14\ub85c\uadf8<\/i><\/p>\n<p><a href=\"https:\/\/www.couchbase.com\/blog\/ko\/introducing-collections-developer-preview-in-couchbase-server-6-5\/\">\uceec\ub809\uc158 \uc18c\uac1c - \uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \uc11c\ubc84 6.5\uc758 \uac1c\ubc1c\uc790 \ud504\ub9ac\ubdf0<\/a><\/p>\n<p class=\"p2\"><span class=\"s1\"><a href=\"https:\/\/www.couchbase.com\/blog\/ko\/announcing-couchbase-server-6-5-0-whats-new-and-improved\/\">Couchbase Server 6.5 \ubc1c\ud45c - \uc0c8\ub85c\uc6b4 \uae30\ub2a5 \ubc0f \uac1c\uc120 \uc0ac\ud56d<\/a><\/span><\/p>\n<p class=\"p2\"><span class=\"s1\"><a href=\"https:\/\/www.couchbase.com\/blog\/ko\/tag\/6-5\/\"><b>6.5 \ube14\ub85c\uadf8 \ubaa8\ub450 \ubcf4\uae30<\/b><\/a><\/span><\/p>","protected":false},"excerpt":{"rendered":"<p>Collections are a new feature in Couchbase 6.5. They let you group similar documents within each bucket, just as tables in relational databases collect similar records within each database. Collections will be fully supported in Couchbase 7.0, but you can [&hellip;]<\/p>","protected":false},"author":8157,"featured_media":7449,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1815,1816,1819],"tags":[2378,2364],"ppma_author":[9058],"class_list":["post-7255","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-best-practices-and-tutorials","category-couchbase-server","category-data-modeling","tag-6-5","tag-collections"],"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>Get Started with Couchbase Collections Using the Demo App<\/title>\n<meta name=\"description\" content=\"Collections let you group similar documents within each bucket, just like records in tables. Collections previewed in Couchbase 6.5.\" \/>\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\/get-started-with-couchbase-collections-using-the-demo-app\/\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Get Started with Couchbase Collections Using the Demo App\" \/>\n<meta property=\"og:description\" content=\"Collections let you group similar documents within each bucket, just like records in tables. Collections previewed in Couchbase 6.5.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/ko\/get-started-with-couchbase-collections-using-the-demo-app\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2019-08-09T17:00:42+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-05-25T11:26:23+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2019\/08\/Transactions-alternative-1.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1400\" \/>\n\t<meta property=\"og:image:height\" content=\"553\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Johan Larson\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Johan Larson\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/get-started-with-couchbase-collections-using-the-demo-app\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/get-started-with-couchbase-collections-using-the-demo-app\/\"},\"author\":{\"name\":\"Johan Larson\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/043ccbbfc54b95927c73f81ec7f6a0a1\"},\"headline\":\"Get Started with Couchbase Collections Using the Demo App\",\"datePublished\":\"2019-08-09T17:00:42+00:00\",\"dateModified\":\"2023-05-25T11:26:23+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/get-started-with-couchbase-collections-using-the-demo-app\/\"},\"wordCount\":1055,\"commentCount\":3,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/get-started-with-couchbase-collections-using-the-demo-app\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/08\/Transactions-alternative-1.jpg\",\"keywords\":[\"6.5\",\"collections\"],\"articleSection\":[\"Best Practices and Tutorials\",\"Couchbase Server\",\"Data Modeling\"],\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/get-started-with-couchbase-collections-using-the-demo-app\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/get-started-with-couchbase-collections-using-the-demo-app\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/get-started-with-couchbase-collections-using-the-demo-app\/\",\"name\":\"Get Started with Couchbase Collections Using the Demo App\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/get-started-with-couchbase-collections-using-the-demo-app\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/get-started-with-couchbase-collections-using-the-demo-app\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/08\/Transactions-alternative-1.jpg\",\"datePublished\":\"2019-08-09T17:00:42+00:00\",\"dateModified\":\"2023-05-25T11:26:23+00:00\",\"description\":\"Collections let you group similar documents within each bucket, just like records in tables. Collections previewed in Couchbase 6.5.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/get-started-with-couchbase-collections-using-the-demo-app\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/get-started-with-couchbase-collections-using-the-demo-app\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/get-started-with-couchbase-collections-using-the-demo-app\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/08\/Transactions-alternative-1.jpg\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/08\/Transactions-alternative-1.jpg\",\"width\":1400,\"height\":553},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/get-started-with-couchbase-collections-using-the-demo-app\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Get Started with Couchbase Collections Using the Demo App\"}]},{\"@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\/043ccbbfc54b95927c73f81ec7f6a0a1\",\"name\":\"Johan Larson\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/93b175bb8728e12439dd573fc27b9d1a\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/2ddf616344da1f84e85c42ba2bfc102e28380128c107cc21eeecc26edc737227?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/2ddf616344da1f84e85c42ba2bfc102e28380128c107cc21eeecc26edc737227?s=96&d=mm&r=g\",\"caption\":\"Johan Larson\"},\"description\":\"Johan Larson is a Senior Software Engineer at Couchbase. Johan's work responsibility is building an SQL-based query language for JSON data in a distributed NoSQL system.\",\"url\":\"https:\/\/www.couchbase.com\/blog\/ko\/author\/johan-larson\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"\ub370\ubaa8 \uc571\uc744 \uc0ac\uc6a9\ud558\uc5ec \uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \uceec\ub809\uc158 \uc2dc\uc791\ud558\uae30","description":"\uceec\ub809\uc158\uc744 \uc0ac\uc6a9\ud558\uba74 \ud14c\uc774\ube14\uc758 \ub808\ucf54\ub4dc\ucc98\ub7fc \uac01 \ubc84\ud0b7 \ub0b4\uc5d0\uc11c \uc720\uc0ac\ud55c \ubb38\uc11c\ub97c \uadf8\ub8f9\ud654\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. Couchbase 6.5\uc5d0\uc11c \ubbf8\ub9ac \ubcf8 \uceec\ub809\uc158.","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\/get-started-with-couchbase-collections-using-the-demo-app\/","og_locale":"ko_KR","og_type":"article","og_title":"Get Started with Couchbase Collections Using the Demo App","og_description":"Collections let you group similar documents within each bucket, just like records in tables. Collections previewed in Couchbase 6.5.","og_url":"https:\/\/www.couchbase.com\/blog\/ko\/get-started-with-couchbase-collections-using-the-demo-app\/","og_site_name":"The Couchbase Blog","article_published_time":"2019-08-09T17:00:42+00:00","article_modified_time":"2023-05-25T11:26:23+00:00","og_image":[{"width":1400,"height":553,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2019\/08\/Transactions-alternative-1.jpg","type":"image\/jpeg"}],"author":"Johan Larson","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Johan Larson","Est. reading time":"7\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/get-started-with-couchbase-collections-using-the-demo-app\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/get-started-with-couchbase-collections-using-the-demo-app\/"},"author":{"name":"Johan Larson","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/043ccbbfc54b95927c73f81ec7f6a0a1"},"headline":"Get Started with Couchbase Collections Using the Demo App","datePublished":"2019-08-09T17:00:42+00:00","dateModified":"2023-05-25T11:26:23+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/get-started-with-couchbase-collections-using-the-demo-app\/"},"wordCount":1055,"commentCount":3,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/get-started-with-couchbase-collections-using-the-demo-app\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/08\/Transactions-alternative-1.jpg","keywords":["6.5","collections"],"articleSection":["Best Practices and Tutorials","Couchbase Server","Data Modeling"],"inLanguage":"ko-KR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/get-started-with-couchbase-collections-using-the-demo-app\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/get-started-with-couchbase-collections-using-the-demo-app\/","url":"https:\/\/www.couchbase.com\/blog\/get-started-with-couchbase-collections-using-the-demo-app\/","name":"\ub370\ubaa8 \uc571\uc744 \uc0ac\uc6a9\ud558\uc5ec \uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \uceec\ub809\uc158 \uc2dc\uc791\ud558\uae30","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/get-started-with-couchbase-collections-using-the-demo-app\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/get-started-with-couchbase-collections-using-the-demo-app\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/08\/Transactions-alternative-1.jpg","datePublished":"2019-08-09T17:00:42+00:00","dateModified":"2023-05-25T11:26:23+00:00","description":"\uceec\ub809\uc158\uc744 \uc0ac\uc6a9\ud558\uba74 \ud14c\uc774\ube14\uc758 \ub808\ucf54\ub4dc\ucc98\ub7fc \uac01 \ubc84\ud0b7 \ub0b4\uc5d0\uc11c \uc720\uc0ac\ud55c \ubb38\uc11c\ub97c \uadf8\ub8f9\ud654\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. Couchbase 6.5\uc5d0\uc11c \ubbf8\ub9ac \ubcf8 \uceec\ub809\uc158.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/get-started-with-couchbase-collections-using-the-demo-app\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/get-started-with-couchbase-collections-using-the-demo-app\/"]}]},{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.couchbase.com\/blog\/get-started-with-couchbase-collections-using-the-demo-app\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/08\/Transactions-alternative-1.jpg","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/08\/Transactions-alternative-1.jpg","width":1400,"height":553},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/get-started-with-couchbase-collections-using-the-demo-app\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Get Started with Couchbase Collections Using the Demo App"}]},{"@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\/043ccbbfc54b95927c73f81ec7f6a0a1","name":"\uc694\ud55c \ub77c\uc2a8","image":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/93b175bb8728e12439dd573fc27b9d1a","url":"https:\/\/secure.gravatar.com\/avatar\/2ddf616344da1f84e85c42ba2bfc102e28380128c107cc21eeecc26edc737227?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/2ddf616344da1f84e85c42ba2bfc102e28380128c107cc21eeecc26edc737227?s=96&d=mm&r=g","caption":"Johan Larson"},"description":"\uc694\ud55c \ub77c\uc2a8\uc740 \uce74\uc6b0\uce58\ubca0\uc774\uc2a4\uc758 \uc120\uc784 \uc18c\ud504\ud2b8\uc6e8\uc5b4 \uc5d4\uc9c0\ub2c8\uc5b4\uc785\ub2c8\ub2e4. Johan\uc740 \ubd84\uc0b0\ud615 NoSQL \uc2dc\uc2a4\ud15c\uc5d0\uc11c JSON \ub370\uc774\ud130\ub97c \uc704\ud55c SQL \uae30\ubc18 \ucffc\ub9ac \uc5b8\uc5b4\ub97c \uad6c\ucd95\ud558\ub294 \uc5c5\ubb34\ub97c \ub2f4\ub2f9\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4.","url":"https:\/\/www.couchbase.com\/blog\/ko\/author\/johan-larson\/"}]}},"authors":[{"term_id":9058,"user_id":8157,"is_guest":0,"slug":"johan-larson","display_name":"Johan Larson","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/2ddf616344da1f84e85c42ba2bfc102e28380128c107cc21eeecc26edc737227?s=96&d=mm&r=g","author_category":"","last_name":"Larson","first_name":"Johan","job_title":"","user_url":"","description":"\uc694\ud55c \ub77c\uc2a8\uc740 \uce74\uc6b0\uce58\ubca0\uc774\uc2a4\uc758 \uc120\uc784 \uc18c\ud504\ud2b8\uc6e8\uc5b4 \uc5d4\uc9c0\ub2c8\uc5b4\uc785\ub2c8\ub2e4. Johan\uc740 \ubd84\uc0b0\ud615 NoSQL \uc2dc\uc2a4\ud15c\uc5d0\uc11c JSON \ub370\uc774\ud130\ub97c \uc704\ud55c SQL \uae30\ubc18 \ucffc\ub9ac \uc5b8\uc5b4\ub97c \uad6c\ucd95\ud558\ub294 \uc5c5\ubb34\ub97c \ub2f4\ub2f9\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/posts\/7255","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\/8157"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/comments?post=7255"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/posts\/7255\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/media\/7449"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/media?parent=7255"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/categories?post=7255"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/tags?post=7255"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/ppma_author?post=7255"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}