BSON(Binary JSON)
BSON은 JSON과 동일한 구조이지만 Binary 형태, 즉 가까운 2진법에 기반을 둔 표현법으로 이루어진 변형된 구조다.
JSON Document를 Binary로 인코딩한 포맷으로 JSON의 단점을 해결하기 위한 방안이다.
BSON은 JSON에 비해 스토리지 공간과 스캔 속도 모두 효율적으로 설계되어 있다.
- JSON보다 메모리 사용에 효율적
- 빠르고 가볍고 유연
- JSON보다 더 많은 데이터 타입 사용 가능
{key: value}로 exact match
$lt, $lte, $gt, $gte를 사용하여 range query를 작성할 수 있다.
$lt
-> less than
$lte
-> less than or equal
$gt
-> greater than
$gte
-> greater than or equal
$in
을 사용하여 다중 값으로 검색
$of
을 사용하여 다중 조건 검색
Person.find({ // 아래 조건에 맞는 데이터를 찾겠다.
name: 'hannah', // 이름이 hannah이고
age: {
$lt: 20, // 20미만
$gte:10, // 10이상
},
languages: {
$in: ['ko', 'en'], // languages가 'ko'이거나 'en' 중에 하나
},
$or: [
{status: 'ACTIVE'}, // status가 'ACTIVE'이거나
{isFresh: true}, // isFresh가 true인
],
})