AI 에이전트의 경우: 문서 인덱스는 https://www.mongodb.com/ko-kr/docs/llms.txt에서 사용할 수 있으며, 모든 페이지의 마크다운 버전은 어떤 URL 경로에 .md를 추가하여 사용할 수 있습니다.
Docs Menu

$toLong (표현식 연산자)

$toLong

값을 long으로 변환합니다. 값을 긴 값으로 변환할 수 없는 경우 $toLong 오류가 발생합니다. 값이 null이거나 누락된 경우 $toLong 은 null을 반환합니다.

$toLong 의 구문은 다음과 같습니다:

{
$toLong: <expression>
}

$toLong는 유효한 표현식을 사용합니다.

$toLong는 다음 $convert 표현식의 약칭입니다.

{ $convert: { input: <expression>, to: "long" } }

다음 표에는 로 변환할 수 있는 입력 유형이 나열되어 있습니다.

입력 유형
행동

부울

에 대해 0Long()을 반환합니다.false
1에 true 대해 Long()을 반환합니다.

Double

잘린 값을 반환합니다.

잘린 double 값은 정수의 최소값과 최대값 내에 속해야 합니다.

최소 정수 값보다 작거나 최대 정수 값보다 큰 double 값은 변환할 수 없습니다.

10진수

잘린 값을 반환합니다.

잘린 10진수 값은 정수의 허용 범위 내에 있어야 합니다.

최소 정수 값보다 작거나 최대 정수 값보다 큰 더블 값은 변환할 수 없습니다.

Integer

int 값을 길이로 반환합니다.

Long

아니요. 긴 값을 반환합니다.

문자열

문자열의 숫자 값을 반환합니다.

문자열 값은 기본 10 길이여야 합니다(예: "-5", "123456").

부동소수점, 10진수, 10이 아닌 밑수의 문자열 값(예: "-5.0", "0x6400")

날짜

Date를 epoch 이후의 밀리초 수로 변환합니다.

10 이외의 기본 문자열을 변환하려면 $convertbase 옵션과 함께 사용합니다.

다음 표에는 더블로 변환하는 몇 가지 예가 나와 있습니다:

예시
결과

{ $toLong: true }

Long("1")

{ $toLong: false }

Long("0")

{ $toLong: 1.99999 }

Long("1")

{ $toLong: Decimal128("5.5000") }

Long("5")

{ $toLong: Decimal128("9223372036854775808.0") }

오류

{ $toLong: Int32(8) }

Long(8)

{ $toLong: ISODate("2018-03-26T04:38:28.044Z") }

Long("1522039108044")

{ $toLong: "-2" }

Long("-2")

{ $toLong: "2.5" }

오류

{ $toLong: null }

null

다음 문서를 사용하여 컬렉션 orders를 생성합니다.

db.orders.insertMany( [
{ _id: 1, item: "apple", qty: Int32(5) },
{ _id: 2, item: "pie", qty: "100" },
{ _id: 3, item: "ice cream", qty: Long("500") },
{ _id: 4, item: "almonds", qty: "50" },
] )

orders 컬렉션에 대한 다음 집계 작업은 값을 기준으로 정렬하기 전에 qty를 long으로 변환합니다.

// Define stage to add convertedQty field with converted qty value
qtyConversionStage = {
$addFields: {
convertedQty: { $toLong: "$qty" }
}
};
// Define stage to sort documents by the converted qty values
sortStage = {
$sort: { "convertedQty": -1 }
};
db.orders.aggregate( [
qtyConversionStage,
sortStage
])

이 작업은 다음 문서를 반환합니다.

{ _id: 3, item: 'ice cream', qty: Long("500"), convertedQty: Long("500") },
{ _id: 2, item: 'pie', qty: '100', convertedQty: Long("100") },
{ _id: 4, item: 'almonds', qty: '50', convertedQty: Long("50") },
{ _id: 1, item: 'apple', qty: 5, convertedQty: Long("5") }

참고

변환 작업에 오류가 발생하면 집계 작업이 중지되고 오류가 발생합니다. 이 동작을 재정의하려면 $convert 를 대신 사용하세요.

이 페이지의 내용