쿼리
.query()
인스턴스 메서드
사용자 지정 SurrealQL을 실행합니다.
query( surql: string | object, vars?: { [p: string]: unknown }, options?: ClientRpcOptions,): Promise<unknown[]>;
인수
surql
SurrealQL 문자열 또는 미리 준비된 쿼리입니다.
vars
SurrealQL 실행 시 전달할 변수입니다. 변수 이름은 달러 기호($)로 시작하지 않도록 주의하십시오.
options
PRC 요청 옵션입니다.
반환값
SurrealQL 실행 결과의 배열로 해결되는 Promise
객체를 반환합니다. 하나 이상의 문이 실패한 경우, 해당 오류 메시지를 포함하는 QueryFailedError
로 거부합니다.
이 메서드가 거부되면 실행 결과를 얻을 수 없습니다. 오류 처리를 수동으로 수행하려면 .queryRaw()
를 사용할 수 있습니다.
예
다음 예는 쿼리 실행에 성공하는 경우입니다.
import { Surreal } from "@tai-kun/surrealdb";
const db = new Surreal();await db.connect("ws://localhost:8000");
const results = await db.query(` CREATE ONLY user:foo CONTENT { age: 42 };`);console.log(results);// [{// id: Thing { tb: 'user', id: 'foo' },// age: 42// }]
await db.disconnect();
다음 예는 한쪽 문이 실패하기 때문에 쿼리는 QueryFailedError
로 거부됩니다.
import { Surreal } from "@tai-kun/surrealdb";
const db = new Surreal();await db.connect("ws://localhost:8000");
const results = await db.query(` CREATE ONLY user:foo CONTENT { age: 42 }; OUTPUT 42;`); // throws QueryFailedError: Query failed with 1 error(s)
다음 예는 미리 준비된 쿼리를 실행합니다.
import { surql, Surreal, Thing } from "@tai-kun/surrealdb";
const CreateUserQuery = surql` CREATE ONLY user:foo CONTENT { age: 42 };`.returns<[{ id: Thing<"user">, age: number }]>()
const db = new Surreal();await db.connect("ws://localhost:8000");
const results = await db.query(CreateUserQuery); // ^? const results: [{ id: Thing<"user">, age: number }]
await db.disconnect();
.queryRaw()
인스턴스 메서드
사용자 지정 SurrealQL을 실행합니다.
queryRaw( surql: string | object, vars?: { [p: string]: unknown }, options?: ClientRpcOptions,): Promise<QueryResult[]>;
인수
surql
SurrealQL 문자열 또는 미리 준비된 쿼리입니다.
vars
SurrealQL 실행 시 전달할 변수입니다. 변수 이름은 달러 기호($)로 시작하지 않도록 주의하십시오.
options
PRC 요청 옵션입니다.
반환값
SurrealQL 실행 결과의 배열로 해결되는 Promise
객체를 반환합니다.
type QueryResult = { status: "OK"; time: string; result: unknown;} | { status: "ERR"; time: string; result: string;};