Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- Python
- local
- 三井住友カード
- 카마츠루
- Selenium
- 메르페이
- 태국
- vba
- 프라하
- 釜つる
- documentdb
- typescript
- 뮌헨
- terraform
- JenkinsFile
- 熱海
- 아타미
- CSV
- react.js
- 체코
- 미츠이 스미토모
- javascript
- PayPay
- 페이페이
- node.js
- duckdb
- 방콕
- PostgreSQL
- codebuild
- pyenv
Archives
- Today
- Total
도쿄사는 외노자
Object에 조건에 따라 데이터 삽입하기 본문
MongoDB에 넣을 쿼리를 만드는 중이었다.
Curl로 날린 파라메터를 받아서 쿼리 오브젝트에 집어넣는데...
오브젝트에 멤버를 넣어버리면 그걸 그대로 검색조건으로 박아버리니까, 값이 없는 경우도 다 조건이 되어버린다.
이걸 해결하려면 애초에 내용이 없는 데이터는 쿼리에 넣어선 안된다.
일단 그냥 자바스크립트면 심플하게 아래의 방법을 쓸 수 있다.
const obj = {
...(input.name && input.name !== '') && {name: input.name},
...(input.hobby && input.hobby.length > 0) && {hobby: input.hobby},
}
근데 타입스크립트면 위 방법이 에러가 나더라.
뭐 어찌어찌 하면 된다곤 하는데, 타입가지고 시간끄는건 질색이라, 그냥 Object.assign()을 사용하기로 했다.
const query = Object.assign(
{ code : inputData.code },
inputData.name === "" ? {} : { name: inputData.name },
inputData.hobby.length === 0 ? {} : { hobby: inputData.hobby }
);
이걸로 해결.
'Tech > JavaScript' 카테고리의 다른 글
class-validator의 조건부 사용 (0) | 2021.06.30 |
---|---|
RDS PostgreSQL 접속하기 (0) | 2021.06.25 |
DocumentDB(MongoDB) Javascript로 사용하기 (0) | 2021.06.03 |
AWS Secrets Manager로부터 DB정보 취득 (0) | 2021.05.28 |
Comma Separated String을 배열로 변환 (0) | 2020.03.17 |