MongoDB聚合运算符:$toString

2024-05-09 06:12

本文主要是介绍MongoDB聚合运算符:$toString,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

MongoDB聚合运算符:$toString

文章目录

  • MongoDB聚合运算符:$toString
    • 语法
    • 使用
    • 举例

$toString聚合运算符将指定的值转换为字符串类型。如果指定的值为空或缺失,则返回null;如果值无法被转换为字符串,则报错。

语法

{$toString: <expression>
}

$toString接受任何有效的表达式。

$toString$convert表达式的简写形式:

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

使用

下表列出了可转换为字符串的类型:

输入类型规则
Boolean返回布尔值的字符串
Decimal返回小数值的字符串
Double返回双精度数的字符串
Integer返回整数的字符串
Long返回长整数的字符串
String直接返回
ObjectId返回ObjectId值的16进制字符串
Date返回日期字符串

下表列出了一些转换为字符串的示例:

示例结果
$toString: true"true"
$toString: false"false"
$toString: 2.5"2.5"
$toString: NumberInt(2)"2"
$toString: NumberLong(1000)"1000"
$toString: NumberInt(8)Long(8)
$toString: ObjectId("5ab9c3da31c2ab715d421285")"5ab9c3da31c2ab715d421285"
$toString: ISODate("2018-03-27T16:58:51.538Z""2018-03-27T16:58:51.538Z"

举例

使用下面的脚本创建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 },
] )

下面的聚合操将zipcode集转换为字符串,然后进行排序:

// 定义阶段,将zipcode转换为字符串zipConversionStage = {$addFields: {convertedZipCode: { $toString: "$zipcode" }}
};// 定义阶段,基于转换后的字段convertedZipCode进行排序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'
}

**注意:**如果转换操作遇到错误,聚合操作将停止并抛出错误。

这篇关于MongoDB聚合运算符:$toString的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/972600

相关文章

Java中的String.valueOf()和toString()方法区别小结

《Java中的String.valueOf()和toString()方法区别小结》字符串操作是开发者日常编程任务中不可或缺的一部分,转换为字符串是一种常见需求,其中最常见的就是String.value... 目录String.valueOf()方法方法定义方法实现使用示例使用场景toString()方法方法

Java逻辑运算符之&&、|| 与&、 |的区别及应用

《Java逻辑运算符之&&、||与&、|的区别及应用》:本文主要介绍Java逻辑运算符之&&、||与&、|的区别及应用的相关资料,分别是&&、||与&、|,并探讨了它们在不同应用场景中... 目录前言一、基本概念与运算符介绍二、短路与与非短路与:&& 与 & 的区别1. &&:短路与(AND)2. &:非短

Go Mongox轻松实现MongoDB的时间字段自动填充

《GoMongox轻松实现MongoDB的时间字段自动填充》这篇文章主要为大家详细介绍了Go语言如何使用mongox库,在插入和更新数据时自动填充时间字段,从而提升开发效率并减少重复代码,需要的可以... 目录前言时间字段填充规则Mongox 的安装使用 Mongox 进行插入操作使用 Mongox 进行更

使用Python实现操作mongodb详解

《使用Python实现操作mongodb详解》这篇文章主要为大家详细介绍了使用Python实现操作mongodb的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、示例二、常用指令三、遇到的问题一、示例from pymongo import MongoClientf

使用MongoDB进行数据存储的操作流程

《使用MongoDB进行数据存储的操作流程》在现代应用开发中,数据存储是一个至关重要的部分,随着数据量的增大和复杂性的增加,传统的关系型数据库有时难以应对高并发和大数据量的处理需求,MongoDB作为... 目录什么是MongoDB?MongoDB的优势使用MongoDB进行数据存储1. 安装MongoDB

Jenkins构建Maven聚合工程,指定构建子模块

一、设置单独编译构建子模块 配置: 1、Root POM指向父pom.xml 2、Goals and options指定构建模块的参数: mvn -pl project1/project1-son -am clean package 单独构建project1-son项目以及它所依赖的其它项目。 说明: mvn clean package -pl 父级模块名/子模块名 -am参数

【重学 MySQL】十九、位运算符的使用

【重学 MySQL】十九、位运算符的使用 示例检查权限添加权限移除权限 在 MySQL 中,位运算符允许你直接在整数类型的列或表达式上进行位级操作。这些操作对于处理那些需要在二进制表示上进行直接修改或比较的场景特别有用,比如权限管理、状态标记等。 &(位与) 对两个数的二进制表示进行位与操作。只有两个相应的二进制位都为 1 时,结果的该位才为 1,否则为 0。 |(位

C语言程序设计(数据类型、运算符与表达式)

一、C的数据类型 C语言提供的数据类型: 二、常量和变量 2.1常量和符号常量 在程序运行过程中,其值不能被改变的量称为常量。 常量区分为不同的类型: 程序中用#define(预处理器指令)命令行定义变量将代表常量,用一个标识符代表一个常量,称为符合常量。 2.2变量 变量代表内存中具有特定属性的一个存储单元,用来存放数据,在程序运行期间,这些值是可以 改变的。 变

第二十四章 rust中的运算符重载

注意 本系列文章已升级、转移至我的自建站点中,本章原文为:rust中的运算符重载 目录 注意一、前言二、基本使用三、常用运算符四、通用约束 一、前言 C/C++中有运算符重载这一概念,它的目的是让即使含不相干的内容也能通过我们自定义的方法进行运算符操作运算。 比如字符串本身是不能相加的,但由于C++中的String重载了运算符+,所以我们就可以将两个字符串进行相加、但实际

ElasticSearch的DSL查询⑤(ES数据聚合、DSL语法数据聚合、RestClient数据聚合)

目录 一、数据聚合 1.1 DSL实现聚合 1.1.1 Bucket聚合  1.1.2 带条件聚合 1.1.3 Metric聚合 1.1.4 总结 2.1 RestClient实现聚合 2.1.1 Bucket聚合 2.1.2 带条件聚合 2.2.3 Metric聚合 一、数据聚合 聚合(aggregations)可以让我们极其方便的实现对数据的统计、分析、运算。例如: