본문으로 건너뛰기

DB Query

DB Query를 통해 데이터베이스 쿼리문을 작성하여 데이터베이스 정보를 직접 변경하거나 조작할 수 있습니다. 단순한 쿼리 작업의 경우 DB Query를 이용하여 손쉽게 API를 생성하고 활용할 수 있습니다. 아래에서는 DB Query의 사용 방법에 대해 설명합니다.

노트

DB Query를 사용하기 전에 Connection을 먼저 설정해야 합니다.

DB Query


변수의 활용

쿼리문에는 Parameter로 전달된 값을 활용할 수 있습니다. 사용법은 아래와 같습니다.

// 변수는 ${}로 묶어 표시합니다.
SELECT * FROM users WHERE id=${id} AND name=${data.name}

변수의 데이터타입이 Object인 경우, data.name 형식으로 값을 가져올 수 있습니다. N 뎁스 형식도 가능합니다. 예시) data.users.id

쿼리

WEVY에서는 데이터베이스 타입에 따라서 다양한 쿼리를 만들어야 합니다. 아래는 데이터베이스 타입에 따른 쿼리 사용법입니다.

MYSQL, POSTGRE, MARIADB

일반적인 SQL쿼리문을 사용하면 됩니다.

SELECT * FROM users WHERE id=${id} AND name=${data.name}

Mongo DB

MongoDB는 별도의 JSON 형식의 쿼리 객체를 제공하여 MongoDB의 CRUD 작업을 수행할 수 있습니다. 아래는 쿼리 객체의 기본 형식입니다:

{
"collection": "컬렉션명",
"type": "작업타입",
"data": {},
"where": {},
"sort": {},
"limit": 0
}
  • collection: 작업을 수행할 MongoDB 컬렉션의 이름입니다. (필수)
  • type: 수행할 작업의 타입입니다. (find, insertMany, insert, delete, update 중 하나)
  • data: insert 및 update 작업에 사용될 데이터 객체 또는 객체 배열입니다.
  • where: find, delete, update 작업의 조건을 지정하는 객체입니다.
  • sort: find 작업의 결과를 정렬하는 데 사용되는 객체입니다.
  • limit: find 작업의 결과 수를 제한하는 데 사용되는 숫자입니다.

쿼리 예시

특정 조건의 문서 찾기:

문서 중 status 필드가 "d"인 문서를 찾습니다.
{
"collection": "myCollection",
"type": "find",
"where": {
"status": "d"
}
}

여러 문서 삽입:

여러 문서를 한 번에 삽입합니다.
{
"collection": "myCollection",
"type": "insertMany",
"data": [
{ "name": "John", "age": 30 },
{ "name": "Jane", "age": 25 }
]
}

단일 문서 삽입:

{
"collection": "myCollection",
"type": "insert",
"data": { "name": "Doe", "age": 40 }
}

조건에 맞는 문서 삭제:

{
"collection": "myCollection",
"type": "delete",
"where": { "age": { "$gt": 35 } }
}

문서 업데이트:

{
"collection": "myCollection",
"type": "update",
"where": { "name": "Doe" },
"data": { "age": 42 }
}