NoSQL에서도 쿼리를 사용할까? 기초 문법과 예제
잡학다식의 지식공방

빅데이터 관련 자료

NoSQL에서도 쿼리를 사용할까? 기초 문법과 예제

carpe08 2025. 4. 23. 10:51
320x100

많은 사람들이 NoSQL이라고 하면 SQL을 전혀 사용하지 않는다고 생각하지만, NoSQL에서도 각 데이터베이스별로 고유한 쿼리 언어(Query Language)를 제공합니다. 단, 전통적인 SQL과는 문법이나 방식이 다를 수 있습니다.

이 글에서는 대표적인 NoSQL인 MongoDB와 Redis의 쿼리 방식과 기초 코드를 소개합니다.


1. MongoDB의 쿼리 문법

MongoDB는 SQL이 아닌 메서드 기반의 쿼리를 사용합니다. 쿼리는 보통 JavaScript 문법과 비슷한 형태로 작성합니다.

📌 기본 구조

// 데이터베이스 선택
use myDatabase

// 컬렉션에 문서 추가
db.users.insertOne({ name: "홍길동", age: 30 })

// 조건에 맞는 문서 조회
db.users.find({ age: { $gt: 25 } })

// 문서 업데이트
db.users.updateOne(
  { name: "홍길동" },
  { $set: { age: 31 } }
)

// 문서 삭제
db.users.deleteOne({ name: "홍길동" })

🧠 자주 사용하는 연산자

연산자 설명

$gt greater than (초과)
$lt less than (미만)
$eq equal (같음)
$in 포함 여부
$set 필드 값 수정
$push 배열에 값 추가

2. Redis의 쿼리(명령어)

Redis는 SQL이나 JSON 기반 쿼리가 아닌 명령어(Command) 방식으로 데이터를 조작합니다. CLI나 라이브러리로 명령어를 보내는 방식입니다.

📌 기본 명령어 예시

# 데이터 저장 (SET)
SET user:1:name "홍길동"

# 데이터 조회 (GET)
GET user:1:name

# 리스트에 값 추가
LPUSH user:list "김철수"

# 리스트에서 값 꺼내기
RPOP user:list

# 해시(Hash) 구조
HSET user:1 name "홍길동" age 30
HGETALL user:1

🧠 명령어 특징

  • 대부분 명령어는 한 줄로 끝남
  • Key 기반으로 조회 및 수정
  • 다양한 자료형(String, Hash, List, Set 등)을 위한 명령어 존재

3. 요약

NoSQL에서도 데이터를 다루기 위해 쿼리 또는 명령어를 사용합니다.

  • MongoDB는 JSON 기반의 쿼리 메서드 사용
  • Redis는 명령어 기반 인터페이스 사용

비록 SQL이라는 이름의 언어는 아니지만, 데이터 검색, 삽입, 수정, 삭제 등 DB의 기본 동작은 모두 가능하며, 상황에 맞는 구조와 문법을 익히면 효과적으로 활용할 수 있습니다.

320x100
320x100