MongoDB聚合运算符:$toLong
文章目录
$toLong
聚合运算符将指定的值转换为长整数类型。如果指定的值为空或缺失,则返回null;如果值无法被转换为长整数,则报错。
语法
{
$toLong: <expression>
}
$toLong
接受任何有效的表达式。
$toLong
是$convert
表达式的简写形式:
{
$convert: {
input: <expression>, to: "long" } }
使用
下表列出了可转换为长整数的类型:
输入类型 | 规则 |
---|---|
Boolean | 对于True,返回Long(1) ,对于False返回Long(0) |
Decimal | 返回截断值。截断的小数值必须在长整数的最小值和最大值范围内。如果截断值小于最小长整数值或大于最大长整数值,则无法转换 |
Double | 返回截断值。截断的双数值必须在长整数的最小值和最大值范围内。如果截断值小于最小长整数值或大于最大长整数值,则无法转换 |
Integer | 以长整数返回整数值 |
Long | 直接返回 |
String | 将字符串转换为长整数返回,但字符串表示的必须是10进制的长整数比如"-5"、“1233”,非10进制的会报错,如:“0x3343” |
Date | 返回自与日期值对应的纪元以来的毫秒数 |
下表列出了一些转换为长整数的示例:
示例 | 结果 |
---|---|
$toLong: true |
Long("1") |
$toLong: false |
Long("0") |
$toLong: 1.99999 |
Long("1") |
$toLong: NumberDecimal("5.5000")< |