DB Query
DB Query를 통해 데이터베이스 쿼리문을 작성하여 데이터베이스 정보를 직접 변경하거나 조작할 수 있습니다. 단순한 쿼리 작업의 경우 DB Query를 이용하여 손쉽게 API를 생성하고 활용할 수 있습니다. 아래에서는 DB Query의 사용 방법에 대해 설명합니다.
노트
DB Query를 사용하기 전에 Connection을 먼저 설정해야 합니다.
변수의 활용
쿼리문에는 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 }
}