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
- vba
- 페이페이
- local
- duckdb
- 아타미
- documentdb
- Selenium
- terraform
- 미츠이 스미토모
- typescript
- pyenv
- PostgreSQL
- CSV
- 뮌헨
- javascript
- 熱海
- 釜つる
- Python
- 카마츠루
- codebuild
- 三井住友カード
- JenkinsFile
- 프라하
- 방콕
- node.js
- 태국
- PayPay
- 메르페이
- react.js
- 체코
Archives
- Today
- Total
도쿄사는 외노자
MongoDB에서의 데이터 항목 제어 본문
AWS DocumentDB를 이용하게 되어서, ACID트랜잭션이라거나 데이터 항목 제어 등을 조사할 필요가 있었다.
사실상 MongoDB를 쓰는 거나 마찬가지라, MongoDB의 내용 위주로 인풋을 하게 되었는데...
그 중, 데이터 항목 제어 관련해서 메모를 좀 해 두도록 한다.
MongoDB는 아래와 같이 Collection에 Validator를 달아주어 각 항목의 Type이나 범위, Required 등을 제어 가능하다.
db.createCollection("students", {
validator: {
$jsonSchema: {
bsonType: "object",
required: [ "name", "year" ],
properties: {
name: {
bsonType: "string",
description: "String & Required"
},
year: {
bsonType: "int",
minimum: 7,
maximum: 25,
description: "Integer & Required & IN 7~25"
},
}
}
}
})
아래와 같이, 이미 존재하는 Collection에 대해서도 Validator를 부착 가능하다.
db.runCommand( {
collMod: "students",
validator: { $jsonSchema: {
bsonType: "object",
required: [ "name", "year" ],
properties: {
name: {
bsonType: "string",
description: "must be a string and is required"
},
year: {
bsonType: "int",
minimum: 7,
maximum: 25,
description: "must be an integer in [ 7, 25 ] and is required"
},
}
}},
validationLevel: "moderate"
})
대충 이런 식으로 DocumentDB에서도 되겠거니 했는데...
정작 DocumentDB에서는 아직 대응해주지 않고 있더라.
뭐 솔직히 데이터 넣을 때 Validation걸어서 넣으면 되니까 별 문제는 없긴 한데...
ACID는 잘 해주면서 이건 안해주니까 좀 섭섭하더라.
'Tech > DB・SQL' 카테고리의 다른 글
dbt-duckdb (0) | 2024.07.14 |
---|---|
RDS PostgreSQL에서 유저 권한 부여하기 (0) | 2020.03.03 |
PostgreSQL에서 CREATE/UPDATE시의 자동입력 구현 (0) | 2020.02.27 |
DB별 결과 건수 제한 (0) | 2016.07.06 |
SQL Server에서의 줄바꿈 문자 입력 (0) | 2016.06.29 |