-
Notifications
You must be signed in to change notification settings - Fork 265
S~collection.js
moremi-kr edited this page Dec 6, 2022
·
4 revisions
이 모듈은 끄투 내에서 쓰이는 데이터베이스(PostgreSQL, Redis)를 쉽게 관리할 수 있도록 설계된 ORM 모듈입니다. 대체로 mongodb 모듈을 모방하고 있으며, MongoDB에서와 같이 _id
를 기본 식별자로 취급하고 있습니다.
- 배열꼴 질의: 배열[ 배열[ 문자열, * ] ] - 질의문의 한 식을 배열로써 표현한 것. 모든 질의는 이 구조로 변환되어 처리되는 것을 원칙으로 한다.
- 객체꼴 질의: JSON{ 키: 값 } - 질의문의 한 식을 객체로써 표현한 것
이름 | 자료형 | 설명 |
---|---|---|
DEBUG | 진릿값 | 예외가 발생하는 경우 경고 대신 오류 생성 여부 |
이름 | 인자 | 반환 | 설명 |
---|---|---|---|
Escape |
str : 문자열 - 이스케이핑을 할 구문 |
문자열 | SQL 인젝션을 막기 위해 str 을 이스케이핑합니다. |
global.getType |
obj : 객체 - 유형을 확인할 대상 |
문자열 |
obj 의 constructor의 이름을 구합니다. |
query |
_q : 배열꼴 질의 |
배열꼴 질의 | 불필요한 구문이 제거된 새 배열꼴 질의를 구합니다. |
oQuery |
_q : 객체꼴 질의 |
배열꼴 질의 |
_q 를 배열꼴 질의로 변환합니다. |
uQuery |
q : 배열꼴 질의id : 문자열 - 질의문에 포함된 키 _id 의 값 |
배열꼴 질의 |
q 에서 키에 . 이 포함된 경우(JSON 자료형에서 사용됨)에 대한 처리를 하고 그 결과를 반환합니다. |
sqlSelect |
q : 배열꼴 질의 |
문자열 |
q 를 SQL SELECT 구문의 후속 구문으로 취급하여 질의문을 유도합니다. |
sqlWhere |
q : 배열꼴 질의 |
문자열 |
q 를 SQL WHERE 구문의 후속 구문으로 취급하여 질의문을 유도합니다. |
sqlSet |
q : 배열꼴 질의inc : 진릿값 - true인 경우 해당 키의 기존 값에서 주어진 값을 더하도록 합니다. |
문자열 또는 null |
q 를 SQL SET 구문의 후속 구문으로 취급하여 질의문을 유도합니다. |
sqlIK |
q : 배열꼴 질의 |
문자열 |
q 를 SQL INSERT INTO 구문의 후속 구문 중 키에 해당하는 부분으로 취급하여 질의문을 유도합니다. |
sqlIV |
q : 배열꼴 질의 |
문자열 |
q 를 SQL INSERT INTO 구문의 후속 구문 중 값에 해당하는 부분으로 취급하여 질의문을 유도합니다. |
isDataAvailable |
data : 객체 - SQL 질의 결과 정보chk : JSON{ 키: 진릿값 } |
진릿값 | SQL 질의의 결과가 chk 에서 정의한 규칙을 만족시키는지 확인하고 만족한 경우 true를 반환합니다. |
.Agent |
type : 문자열 - 대리자 유형(Redis, Postgres 중 하나)origin : 객체 - 기존 ORM 모듈 |
Agent |
origin 을 주어진 대리자 유형에 따라 포팅한 새 Agent 객체를 생성합니다. |