MongoDB聚合运算符:$toLong

ops/2024/10/19 2:15:51/

MongoDB聚合运算符:$toLong

文章目录

  • 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: trueLong("1")
$toLong: falseLong("0")
$toLong: 1.99999Long("1")
$toLong: NumberDecimal("5.5000")Long("5")
$toLong: NumberDecimal("9223372036000.000")Error
$toLong: NumberInt(8)Long(8)
$toLong: ISODate("2018-03-26T04:38:28.044Z")Long("1522039108044")
$toLong: "-2"Long("-2")
$toLong: "2.5"Error
$toLong: nullnull

举例

使用下面的脚本创建orders集合:

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

下面的聚合操将qty集转换为长整数,然后进行排序:

// 定义阶段,将qty转换为长整数qtyConversionStage = {$addFields: {convertedQty: { $toLong: "$qty" }}
};// 定义阶段,基于转换后的字段convertedQty进行排序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") }

http://www.ppmy.cn/ops/37433.html

相关文章

白色或类白色的粉末/固体,DOTA-Ala-Ala-Tyr-COOH,是一种具有特定氨基酸序列的多肽,具有良好的稳定性和溶解性

一、试剂信息 英文名&#xff1a;DOTA-Ala-Ala-Tyr-COOH&#xff0c;DOTA-AAY-OHCAS号&#xff1a;N/A分子式&#xff1a;C31H47N7O12分子量&#xff1a;709.74结构式&#xff1a; 纯度标准&#xff1a;≥95%包装规格&#xff1a;1g&#xff0c;5g&#xff0c;10g&#xff08…

5G基础知识记录

5G接入网协议栈规范 [4G&5G专题-24]&#xff1a;架构-5G接入网协议栈规范 5G NR协议栈 5G NR协议栈及功能介绍 PDU会话 5G网络学习&#xff08;三&#xff09;——大白话讲解PDU会话&#xff08;未完待续&#xff09;

Mysql 基础 order by ,as ,limit,case,asc、desc

order by 、as 、limit 、asc&#xff08;ascending 正序 默认&#xff09; desc&#xff08;descending 倒序&#xff09; SELECT 学号, 姓名, 成绩, CASEWHEN 成绩 > 90 THEN 优秀WHEN 成绩 > 80 THEN 良好WHEN 成绩 > 60 THEN 及格ELSE 不及格 END as 成绩级别 FRO…

融知财经:期权期货及其他衍生产品

期权、期货及其他衍生产品是金融市场中用于管理风险和进行投机的金融工具。这些衍生产品的价值依赖于一个或多个基础资产&#xff0c;如股票、商品、利率、汇率等。以下是关于这些衍生产品的一些基本介绍&#xff1a; 1、期货&#xff08;Futures&#xff09;&#xff1a;期货是…

LabelImg下载及目标检测数据标注

为什么这一部分内容这么少会单独拎出来呢&#xff0c;因为后期会接着介绍YOLOv8中的其他任务&#xff0c;会使用其他软件进行标注&#xff0c;所以就单独区分开来每一个任务的标注方式了。 这一部分就介绍目标检测任务的标注&#xff0c;数据集是我从COCO2017Val中抽出来两类&a…

ICLR 2024 杰出论文出炉:“大模型”成最大赢家

昨天&#xff0c;国际表征学习大会&#xff08;International Conference on Learning Representations&#xff0c;ICLR&#xff09;公布了 ICLR 2024 杰出论文。 其中&#xff0c;在 5 篇杰出论文中&#xff0c;有 4 篇论文涉及大模型。另外&#xff0c;也有 11 篇论文获得荣…

C#中.net8WebApi加密解密

尤其在公网之中&#xff0c;数据的安全及其的重要&#xff0c;除过我们使用jwt之外&#xff0c;还可以对传送的数据进行加密&#xff0c;就算别人使用抓包工具&#xff0c;抓到数据&#xff0c;一时半会儿也解密不了数据&#xff0c;当然&#xff0c;加密也影响了效率&#xff…

科技早报 | 微软将推出自研AI大模型;苹果折叠屏iPhone新专利获批 | 最新快讯

微软将推出自研AI大模型 5月6日消息&#xff0c;据The Information报道&#xff0c;微软正在公司内部训练一个新的人工智能模型&#xff0c;规模足以与谷歌、Anthropic&#xff0c;乃至OpenAI 自身的先进大模型相抗衡。 报道称&#xff0c;这个新模型内部代号为“MAI-1”&…