Node.js

Node.js, Express 및 Couchbase로 REST 기반 애플리케이션 구축하기

Node.js를 처음 사용하는 경우 Couchbase 또는 두 가지 모두에 해당한다면 실력을 레벨업할 수 있습니다.

오늘은 Node.js와 Express를 사용하여 Couchbase에서 문서를 검색하기 위한 최소한의 REST 기반 애플리케이션을 구축하는 방법을 보여드리겠습니다.

이 게시물은 다음에 대한 소개 시리즈를 이어갑니다. 카우치베이스와 함께 Node.js 사용 (포함 지난주 비동기 함수에 대한 포스팅을 참고하세요.).

오늘 포스팅에서는 이전 예제인 Node.js와 카우치베이스에 대해 설명했으니 아직 읽지 않으셨다면 앞의 두 글을 확인해 보세요. 또한 JavaScript, Node.js 및 NoSQL 문서 데이터베이스에 기본적으로 익숙하다고 가정하겠습니다.

Express 모듈 받기

지난주에 이어서 웹 기반 REST 인터페이스를 추가하여 웹 애플리케이션을 데이터베이스에서 격리할 수 있습니다. 이렇게 하려면 Express 모듈이 필요합니다. 이 모듈을 설치하고 다음을 사용하여 패키지 종속성에 추가하세요:

Express가 올바르게 설치되었는지 테스트하려면 작은 애플리케이션을 빌드하면 됩니다(app.js)를 호출하면 HTTP 서버를 생성하고 헬로 월드 값으로 설정합니다. 나중에 편리하게 사용할 수 있도록 비동기 함수를 사용할 수 있습니다:

이를 실행하고 포트 3000에서 웹 브라우저를 통해 액세스합니다. 아래 이미지와 같이 표시될 것입니다:

Hello world showing in a web browser from Node.js and Express

축하합니다! 작은 앱이긴 하지만 첫 번째 Express 앱을 성공적으로 구축하셨습니다.

애플리케이션 구축

애플리케이션에는 세 가지 구성 요소가 있습니다:

    • 경로 관리
    • 데이터베이스 연결
    • HTTP 서버 계층

데이터 검색을 위한 빠른 경로 추가

애플리케이션이 루트 경로를 가로채서 제공합니다. /. 라는 경로를 생성합니다. get 를 사용하여 특정 문서를 검색할 수 있습니다. REST 사용자는 문서 ID를 제공하고 다음을 반환합니다. JSON 문서 다음 구문을 사용합니다:

해당 경로를 생성하는 함수에는 두 가지 중요한 개체가 포함되어 있습니다. req (요청) 및 res (결과) - 앱과 데이터를 주고받는 데 사용할 것입니다. 아래 예시를 참조하세요:

참고 :docid 매개변수는 요청 객체를 통해 액세스할 수 있는 변수가 됩니다: var docid = req.params.docid. 그런 다음 getDoc() 함수에 대한 자세한 내용은 잠시 후에 다룰 예정입니다.

이 애플리케이션에는 모든 것을 비동기식으로 실행할 수 있는 아래의 편의 기능도 있습니다:

위의 함수는 호출을 멋지게 래핑하지만 여기서는 자세히 설명하지 않겠습니다(다음 글에서 설명할 수 있습니다). 지금은 스크립트에 추가하기만 하면 됩니다.

문서 검색 기능 추가

스크립트의 데이터베이스 연결은 이 시리즈의 이전 게시물과 마찬가지로 기본입니다. 스크립트에서 버킷 및 컬렉션을 클릭한 다음 get() 함수를 사용하여 주어진 문서 ID를 기준으로 문서를 검색할 수 있습니다.

먼저 연결 부분이 있습니다. 다른 사용자 아이디, 비밀번호, 버킷 또는 컬렉션이 있는 경우 여기에서 이를 대체하세요:

저는 데이터베이스도 호스팅하는 네트워크의 서버에서 앱을 호스팅합니다(localhost). 하지만 저는 개발용 노트북에서 앱에 액세스하므로 아래 웹 브라우저 샘플에서 IP 주소를 볼 수 있습니다. 192.168.0.158 REST API를 누르면 됩니다.

이제 문서 검색의 주요 기능을 살펴보겠습니다:

저희는 컬렉션 변수, 즉 앞서 정의한 버킷 등에 대한 카우치베이스 데이터베이스 연결입니다. 그리고 get() 함수는 문서 ID가 포함된 문자열을 입력으로 받습니다. 예를 들어 hotel_5336 이 시리즈의 이전 게시물에서

REST API 실행

REST API용 HTTP 서버도 여전히 실행해야 합니다. 이 게시물의 첫 번째 테스트 앱 이후 변경된 사항은 없습니다:

모든 코드에 대한 전체 목록은 아래에 포함되어 있습니다. 이제 이전처럼 서버를 실행할 수 있습니다( 노드 app.js)를 클릭하고 웹 브라우저를 통해 문서 ID를 제공합니다, http://192.168.0.158:3000/get/hotel_5336.

요청된 문서가 콘솔에서 인쇄되어 브라우저로 반환됩니다:

Database retrieval REST API with Node.js and Couchbase

전체 코드 샘플

결론

다음 글에서는 다양한 Express 경로를 사용하여 데이터베이스 쿼리를 작성하고, 전체 텍스트 검색을 수행하는 방법 등을 다룰 예정입니다.

그 동안 다음 중 몇 가지를 수행하여 애플리케이션을 한 단계 업그레이드하세요:

나머지 Node.js + Couchbase 방법 시리즈도 확인해 보세요:

 

읽기만 하지 마세요. 사용해 보기:
Couchbase 다운로드 및 구축 시작하기

 

이 문서 공유하기
받은 편지함에서 카우치베이스 블로그 업데이트 받기
이 필드는 필수 입력 사항입니다.

작성자

게시자 타일러 미첼 - 선임 제품 마케팅 매니저

카우치베이스에서 선임 제품 마케팅 매니저로 일하면서 제품에 대한 지식을 대중에게 알리는 동시에 가치 있는 콘텐츠로 현장 팀을 지원하고 있습니다. 경력 절반을 GIS 분야에서 일한 그는 지리공간에 대한 개인적인 열정을 가지고 있습니다. 지금은 AI와 벡터 검색을 가장 중요하게 생각합니다.

댓글 하나

  1. [...] 포스트 Node.js, Express 및 Couchbase로 REST 기반 애플리케이션 빌드하기 첫 번째 등장 Couchbase [...]

댓글 남기기

카우치베이스 카펠라를 시작할 준비가 되셨나요?

구축 시작

개발자 포털에서 NoSQL을 살펴보고, 리소스를 찾아보고, 튜토리얼을 시작하세요.

카펠라 무료 사용

클릭 몇 번으로 Couchbase를 직접 체험해 보세요. Capella DBaaS는 가장 쉽고 빠르게 시작할 수 있는 방법입니다.

연락하기

카우치베이스 제품에 대해 자세히 알고 싶으신가요? 저희가 도와드리겠습니다.