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

相关文章

MySQL中比较运算符的具体使用

《MySQL中比较运算符的具体使用》本文介绍了SQL中常用的符号类型和非符号类型运算符,符号类型运算符包括等于(=)、安全等于(=)、不等于(/!=)、大小比较(,=,,=)等,感兴趣的可以了解一下... 目录符号类型运算符1. 等于运算符=2. 安全等于运算符<=>3. 不等于运算符<>或!=4. 小于运

MySql基本查询之表的增删查改+聚合函数案例详解

《MySql基本查询之表的增删查改+聚合函数案例详解》本文详解SQL的CURD操作INSERT用于数据插入(单行/多行及冲突处理),SELECT实现数据检索(列选择、条件过滤、排序分页),UPDATE... 目录一、Create1.1 单行数据 + 全列插入1.2 多行数据 + 指定列插入1.3 插入否则更

MySQL count()聚合函数详解

《MySQLcount()聚合函数详解》MySQL中的COUNT()函数,它是SQL中最常用的聚合函数之一,用于计算表中符合特定条件的行数,本文给大家介绍MySQLcount()聚合函数,感兴趣的朋... 目录核心功能语法形式重要特性与行为如何选择使用哪种形式?总结深入剖析一下 mysql 中的 COUNT

C++20管道运算符的实现示例

《C++20管道运算符的实现示例》本文简要介绍C++20管道运算符的使用与实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录标准库的管道运算符使用自己实现类似的管道运算符我们不打算介绍太多,因为它实际属于c++20最为重要的

基于MongoDB实现文件的分布式存储

《基于MongoDB实现文件的分布式存储》分布式文件存储的方案有很多,今天分享一个基于mongodb数据库来实现文件的存储,mongodb支持分布式部署,以此来实现文件的分布式存储,需要的朋友可以参考... 目录一、引言二、GridFS 原理剖析三、Spring Boot 集成 GridFS3.1 添加依赖

Kotlin运算符重载函数及作用场景

《Kotlin运算符重载函数及作用场景》在Kotlin里,运算符重载函数允许为自定义类型重新定义现有的运算符(如+-…)行为,从而让自定义类型能像内置类型那样使用运算符,本文给大家介绍Kotlin运算... 目录基本语法作用场景类对象数据类型接口注意事项在 Kotlin 里,运算符重载函数允许为自定义类型重

Python中的Walrus运算符分析示例详解

《Python中的Walrus运算符分析示例详解》Python中的Walrus运算符(:=)是Python3.8引入的一个新特性,允许在表达式中同时赋值和返回值,它的核心作用是减少重复计算,提升代码简... 目录1. 在循环中避免重复计算2. 在条件判断中同时赋值变量3. 在列表推导式或字典推导式中简化逻辑

关于MongoDB图片URL存储异常问题以及解决

《关于MongoDB图片URL存储异常问题以及解决》:本文主要介绍关于MongoDB图片URL存储异常问题以及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录MongoDB图片URL存储异常问题项目场景问题描述原因分析解决方案预防措施js总结MongoDB图

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

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

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

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