MongoDB中的数据类型|常见的MongoDB数据类型
![]()
目录
MongoDB以其巨大的可扩展性、可用性和性能而闻名。MongoDB的数据类型使我们能够更有效地存储数据,同时执行非常高效和稳健的查询。以下是MongoDB中最常使用的一些数据类型。
1.字符串
最基本和最广泛使用的数据类型之一是字符串。为了表示文本,利用了字符串类型。因为BSON字符串是UTF-8,我们可以很容易地在其中表达大多数国际字符。
例子
{
"intern\_name": "Edward Bill",
"intern\_skills": "Software Development",
"intern\_salary": 7500,
"intern\_status": true,
}
2.整数
数值是使用整数数据类型来存储的。根据服务器的不同,它可以存储32位或64位的数字。
例子
{
"intern\_name": "Edward Bill",
"intern\_skills": "Software Development",
"intern\_salary": 7500,
"intern\_status": true,
}
Intern_salary的类型是整数,因为它存储的是一个数字。
3.双倍
含有8个字节(64位IEEE 754浮点)浮点的数值是使用double数据类型存储的。
下面是一个在字段Intern score中具有双倍值的文件的例子。
{
"intern\_name": "Edward Bill",
"intern\_skills": "Software Development",
"intern\_score": 87.75,
"intern\_status": true,
}
4.布尔值
布尔值(真或假)是用布尔数据类型来存储的。在下面的例子中,字段intern status是布尔类型的,因为它存储的值是true。布尔型数据比整数或字符串占用的空间更少,而且可以避免不需要的比较副作用。
{
"intern\_name": "Edward Bill",
"intern\_skills": " Software Development",
"intern\_score": 87.75,
"intern\_status": true,
}
5.数组
数组是使用数组数据类型存储的。我们可以用数组数据类型在文档的一个键中存储多个值。
{
" intern\_name": "Edward Bill",
" intern\_skills": \["Software Development", "C++", "Java"\],
" intern\_score": 87.75,
" intern\_status": true,
}
6.对象
嵌入文档是一个放在另一个文档里面的键值对。嵌入文档使用对象数据类型进行存储。
{
"product\_code": "0000-XYZ",
"product\_price": 39.99,
"product\_dimensions": {
"product \_height": 1000,
"product\_width": 90,
"product\_depth": 600,
},
"product\_availability": true,
}
因为它有自己的键值对集合,上面例子中的产品尺寸字段是一个嵌入式文档。因此,这个字段是一个对象字段。
7.7.日期
当前的日期或时间被存储在 "Date "数据类型中。返回日期可以有多种方式,可以是字符串,也可以是日期对象。在这种情况下,有三种策略可以使用。
- Date()函数返回一个字符串。
- 用New Date()返回一个日期对象。
- ISODate()也会返回一个日期对象。
例子
{
"employee\_name": "John Doe",
"employee\_dob": ISODate("2004-04-10T12:45:42.389Z"),
"employee\_marks": 80.40
}
8.时间戳
术语 "时间戳 "是指一组用于描述发生日期和时间的字符。时间戳数据类型通常用于跟踪文件的创建、编辑和更新。此类字符被存储在时间戳数据类型中。要构造一个时间戳,请使用new Timestamp()。
例子
{
"product\_code": "0000-XYZ",
"product\_price": 39.99,
"product\_created": Timestamp(1531456567, 1),
"product\_availability": true,
}
9.空值
NULL数据类型是用来表示一个零或没有价值的值,正如其名称所暗示的。
当一个文档中的空值字段被查询时,它看起来是这样的。
{
"product\_code": "0000-XYZ",
"product\_price": 39.99,
"product\_color": null,
"product\_availability": true,
}
10.二进制
这种数据类型在字段中用来保存二进制数据。在关系型数据库管理系统中,这种数据类型对应于Blob类型。然而,基于MongoDB有16MB的报告大小限制,如果二进制数据和不同字段的完整大小低于16MB,那么二进制数据可以利用二进制数据类型植入文档内。
{
"\_id": "4567rttyygjuhutfv7890",
"product\_code": "1234-ABCD",
"product\_price": 49.99,
"product\_availability": true,
"product\_picture":BinData(1, "rk56tyvbu5677ghugf456..."),
}