BinData()
정의
바이너리 데이터 객체를 생성합니다.
BinData
의 구문은 다음과 같습니다:
BinData(<sub_type>,<buffer>)
- Parameter유형설명
sub_type
integerbuffer
문자열바이너리 데이터가 포함된 버퍼 객체입니다. 기본 64 로 인코딩된 string 값이어야 합니다.반환합니다: 이진 데이터 객체입니다.
바이너리 하위 유형
sub_type
에 다음 값 중 하나를 지정합니다.
번호 | 설명 |
---|---|
0 | 일반 바이너리 하위 유형 |
1 | 함수 데이터 |
2 | 바이너리(이전) |
3 | UUID(이전) |
4 | UUID |
5 | MD5 |
6 | 암호화된 BSON 값 |
7 | 압축된 Time Series 데이터 버전 5.2에 추가되었습니다. |
8 | 키나 시크릿과 같은 민감한 데이터. MongoDB는 하위 유형이 8인 바이너리 데이터에 대한 리터럴 값을 기록하지 않습니다. 대신 자리 표시자 값 ### 을 기록합니다. |
9 | 벡터 데이터는 동일한 유형의 숫자가 밀집되어 있는 배열입니다. |
128 | 사용자 지정 데이터 |
행동
시스템의 엔디안 은 머신의 아키텍처에 따라 달라집니다. BSON 데이터의 숫자는 항상 리틀 엔디안 으로 저장되며, 시스템이 빅 엔디안 인 경우 숫자 데이터가 빅 엔디안과 리틀 엔디안 간에 변환됩니다.
비트 테스트 일치 표현식 연산자의 컨텍스트에서:
BinData
값은 비트 마스크 로 작동합니다. 임의의 길이의 부호 없는 리틀 엔디안 숫자인 것처럼 해석됩니다. 주소 지정 가능한 최하위 바이트는 항상 최하위 바이트로 해석됩니다. 마찬가지로 BinData
에서 주소 지정 가능한 가장 높은 바이트는 항상 최상위 바이트로 해석됩니다.
예시
객체삽입 BinData()
BinData()
생성자를 사용하여 bdata
변수를 만듭니다.
var bdata = BinData(0, "gf1UcxdHTJ2HQ/EGQrO7mQ==")
객체를 testbin
컬렉션에 삽입합니다.
db.testbin.insertOne( { _id : 1, bin_data: bdata } )
삽입된 문서에 대해 testbin
컬렉션을 쿼리합니다.
db.testbin.find()
컬렉션에 저장된 바이너리 buffer
를 볼 수 있습니다.
{ _id: 1, bin_data: Binary(Buffer.from("81fd547317474c9d8743f10642b3bb99", "hex"), 0) }
객체의 길이 BinData()
가져오기
BinData()
생성자를 사용하여 bdata
변수를 만듭니다.
var bdata = BinData(0, "gf1UcxdHTJ2HQ/EGQrO7mQ==")
.length()
를 사용하여 객체의 비트 길이를 반환합니다.
bdata.length()
반환되는 값은 다음과 같습니다.
16