카우치베이스 서버

AWS Rekognition과 Couchbase를 사용하여 자동 태깅 기능이 있는 포토갤러리 앱 구축 - 2부

라트노팜 차크라바티 는 현재 에릭슨에서 근무하는 소프트웨어 개발자입니다. 그는 오랫동안 IoT, 기계 간 기술, 커넥티드 카, 스마트 시티 분야에 집중해 왔습니다. 그는 새로운 기술을 배우고 이를 실무에 적용하는 것을 좋아합니다. 일하지 않을 때는 3살 난 아들과 함께 시간을 보내는 것을 즐깁니다.

Ratnopam Chakrabarti

In 이 블로그 시리즈의 1부에서 이미지 메타데이터를 Couchbase 버킷에 저장하고 검색하는 방법을 살펴봤습니다. 이 글(2부)에서는 앱의 '좋아요' 및 태그명별 표시 기능에 대해 살펴보겠습니다.

여기서 아이디어는 클라이언트 측에서 서버 측에서 실행되는 route.js와 같은 노드 컴포넌트와 상호 작용하는 HTML 및 jQuery를 사용하는 것입니다. 예를 들어, 다음 jQuery 스니펫은 클라이언트 측에 위치하며 "URL"에 대한 Ajax 호출을 수행합니다. 경로 를 서버 측의 route.js 내부에 추가합니다.

그리고 같은 는 클릭 시 노드 앱에서 새 경로가 호출되는 앵커 요소입니다. 다음은 스니펫입니다:

 

URL은 '/좋아요/'와 이미지의 아이디를 추가하여 구성됩니다. 호스트 변수를 설정합니다. Ajax 호출이 성공적으로 완료되면 해당 성공 콜백이 서버 측(routes.js) 엔드포인트에서 전송된 JSON 응답을 구문 분석합니다.

이에 해당하는 경로(routes.js)는 아래와 같습니다:

위의 경로는 클라이언트 측 jQuery에서 호출을 처리하고 200의 HTTP 응답과 JSON 응답 본문도 전송합니다.

이 경로는 getByDocumentId 함수를 호출할 수 있습니다. 아래 그림과 같이 이 함수는 인자로 전달된 문서 ID를 기반으로 Couchbase 버킷에서 문서를 검색합니다. 문서가 성공적으로 검색되면 결과를 구문 분석하고 "좋아요" 는 1씩 증가합니다. 업데이트된 문서는 save() 함수를 호출하여 저장됩니다.

getByDocumentId 함수(recordmodel.js 파일에 정의됨):

 

태그명으로 이미지 표시

특정 태그별로 이미지를 나열하려면 다음 작업을 수행해야 합니다:

  • 앵커를 클릭할 때 태그명을 전달합니다.
  • 태그명을 사용하여 이미지 필터링하기

태그 이름은 다음과 같은 간단한 jQ쿼리로 전달됩니다:

그리고 해당 경로:

그리고 getImagesByTag 함수는 아래에 설명되어 있습니다:

N1QL을 사용하여 다음 쿼리를 실행하기만 하면 됩니다:

사진갤러리에서 이 태그에 있는 파일명, 좋아요를 선택합니다;

이렇게 하면 태그가 문자열 배열인 태그명을 기준으로 필터링할 수 있습니다.

pasted image 0 3

따라서 동일한 태그가 있는 이미지가 두 개 있는 경우 위의 쿼리는 두 이미지를 모두 반환해야 합니다.

pasted image 0 1

여기서 두 문서 모두 공통 태그가 "블러썸." 이제 Couchbase 쿼리 워크벤치를 사용하여 쿼리를 실행하면 다음과 같은 결과를 얻을 수 있습니다:

pasted image 0 5

예상대로 두 개의 레코드가 반환되는 것을 볼 수 있습니다. 이것은 사실상 getImagesByTag () 함수입니다.

문제 해결

npm 설치 중에 다음과 같은 오류가 발생하면,

Python 실행 파일 "python"을 찾을 수 없는 경우 PYTHON 환경 변수를 설정할 수 있습니다.

를 클릭한 다음 다음을 수행하여 오류를 제거합니다:

파이썬 설치

경로에 파이썬 추가

이렇게 하면 오류가 해결됩니다... 적어도 저에게는 해결되었습니다.

 

이 게시물은 카우치베이스 커뮤니티 글쓰기 프로그램의 일부입니다.

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

작성자

게시자 Laura Czajkowski, 개발자 커뮤니티 관리자, Couchbase

로라 챠코브스키는 카우치베이스의 Snr. 개발자 커뮤니티 매니저로 카우치베이스의 커뮤니티를 총괄하고 있습니다. 그녀는 월간 개발자 뉴스레터를 담당하고 있습니다.

댓글 남기기

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

구축 시작

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

카펠라 무료 사용

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

연락하기

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