일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 러스트 기초
- Vue.js
- 러스트기초
- 스마트 컨트렉트 함수이름 중복
- chainlink 설명
- ethers v6
- rust 기초
- ambiguous function description
- SBT표준
- ethers type
- ethers typescript
- Vue
- 컨트렉트 동일한 함수이름 호출
- 체인의정석
- 컨트렉트 배포 자동화
- nest.js설명
- vue기초
- ethers websocket
- 스마트컨트렉트테스트
- 스마트컨트렉트프록시
- git rebase
- 스마트컨트렉트 함수이름 중복 호출
- 프록시배포구조
- 오블완
- multicall
- 머신러닝기초
- 스마트컨트렉트 예약어 함수이름 중복
- 러스트 기초 학습
- 티스토리챌린지
- ethers
Archives
- Today
- Total
체인의정석
TypeORM - query builder/ find 함수로 쿼리기능 구현 본문
728x90
반응형
nest.js에서 type ORM을 사용할 때 복잡한 구문은 query builder를 사용하여 구현할 수 있다.
https://typeorm.io/#/select-query-builder/what-is-querybuilder
이번에는 query builder를 사용하여 조금 더 복잡한 조건절을 구현하는 것을 해보도록 하겠다.
const firstUser = await connection
.getRepository(User)
.createQueryBuilder("user")
.where("user.id = :id", { id: 1 })
.getOne();
다음과 같은 예시가 나와 있으며, 이러한 예시에 대한 원래 쿼리문은 아래와 같다.
SELECT
user.id as userId,
user.firstName as userFirstName,
user.lastName as userLastName
FROM users user
WHERE user.id = 1
또한 다수의 where 조건절을 사용할 때는 아래와 같이 andWhere를 사용해야 한다고 한다.
const result = await getConnection()
.createQueryBuilder('user')
.leftJoinAndSelect('user.linkedSheep', 'linkedSheep')
.leftJoinAndSelect('user.linkedCow', 'linkedCow')
.where('user.linkedSheep = :sheepId', { sheepId })
.andWhere('user.linkedCow = :cowId', { cowId });
그러나 이번에는 find 구문을 사용하여 구현을 하기로 하였다. 해당 내용을 아래에서 확인할 수 있었다.
https://orkhan.gitbook.io/typeorm/docs/find-options
find 구문으로 구현한 예시는 아래와 같다.
const transactions = await this.transactionsRepository.find({
where: {
from_address: from_address,
to_address: to_address,
value: Between(min_value, max_value),
},
});
이렇게 하면 쿼리 구문은 , from_Address, to_address와 같고 value 가 min, max 사이인 값만 리턴하여 준다.
728x90
반응형
'개발 > backend' 카테고리의 다른 글
SQL) Paging 처리하기, 페이징 API 만들기 (0) | 2021.11.02 |
---|---|
리팩토링) nest.js 기본 구조 체계화 하기 (0) | 2021.10.26 |
nest.js) 예외처리 - 이더리움 주소값인지 확인하고 아닐 시 에러리턴 (0) | 2021.10.22 |
Nest.js) API 설계를 위한 피드백- 조회기능 (0) | 2021.10.20 |
class-validator) 이더리움 주소, 비트코인 주소 형태 판별하기 (0) | 2021.10.19 |
Comments