정의
행동
다음 표에는 문자열로 변환할 수 있는 입력 유형이 나열되어 있습니다.
입력 유형 | 행동 |
|---|---|
배열 | 를 문자열로 버전 8.3에 추가 되었습니다. |
BinData |
|
부울 | 부울 값을 문자열로 반환합니다. |
날짜 | 를 문자열로 |
10진수 |
|
Double |
|
Integer |
|
Long |
|
최대 키 | 를 문자열로 버전 8.3에 추가 되었습니다. |
최소 키 | 를 문자열로 버전 8.3에 추가 되었습니다. |
객체 | 객체 를 문자열로 반환합니다. 버전 8.3에 추가 되었습니다. |
ObjectId |
|
정규 표현식 | 를 문자열로 버전 8.3에 추가 되었습니다. |
문자열 | 작동하지 않습니다. 문자열 값을 반환합니다. |
타임스탬프 | 를 문자열로 버전 8.3에 추가 되었습니다. |
팁
이외의 기본 문자열을 변환하려면 10 $convert 을 base 옵션과 함께 사용합니다.
다음 표에는 문자열로 변환하는 몇 가지 예가 나와 있습니다:
예시 | 결과 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
버전 8.3에 추가 되었습니다. |
|
버전 8.3에 추가 되었습니다. |
|
버전 8.3에 추가 되었습니다. |
|
버전 8.3에 추가 되었습니다. |
|
버전 8.3에 추가 되었습니다. |
|
버전 8.3에 추가 되었습니다. |
예시
다음 문서를 사용하여 컬렉션 orders를 생성합니다.
db.orders.insertMany( [ { _id: 1, item: "apple", qty: 5, zipcode: 93445 }, { _id: 2, item: "almonds", qty: 2, zipcode: "12345-0030" }, { _id: 3, item: "peaches", qty: 5, zipcode: 12345 }, ] )
orders 컬렉션에 대한 다음 집계 작업은 문자열 값을 기준으로 정렬하기 전에 zipcode를 문자열로 변환합니다.
// Define stage to add convertedZipCode field with the converted zipcode value zipConversionStage = { $addFields: { convertedZipCode: { $toString: "$zipcode" } } }; // Define stage to sort documents by the converted zipcode sortStage = { $sort: { "convertedZipCode": 1 } }; db.orders.aggregate( [ zipConversionStage, sortStage ] )
이 작업은 다음 문서를 반환합니다.
{ _id: 3, item: 'peaches', qty: 5, zipcode: 12345, convertedZipCode: '12345' }, { _id: 2, item: 'almonds', qty: 2, zipcode: '12345-0030', convertedZipCode: '12345-0030' }, { _id: 1, item: 'apple', qty: 5, zipcode: 93445, convertedZipCode: '93445' }
참고
변환 작업에 오류가 발생하면 집계 작업이 중지되고 오류가 발생합니다. 이 동작을 재정의하려면 $convert 를 대신 사용하세요.