不做大哥好多年 不做大哥好多年
首页
  • MySQL
  • Redis
  • Elasticsearch
  • Kafka
  • Etcd
  • MongoDB
  • TiDB
  • RabbitMQ
  • 01.GO基础
  • 02.面向对象
  • 03.并发编程
  • 04.常用库
  • 05.数据库操作
  • 06.Beego框架
  • 07.Beego商城
  • 08.GIN框架
  • 09.GIN论坛
  • 10.微服务
  • 01.Python基础
  • 02.Python模块
  • 03.Django
  • 04.Flask
  • 05.SYL
  • 06.Celery
  • 10.微服务
  • 01.Java基础
  • 02.面向对象
  • 03.Java进阶
  • 04.Web基础
  • 05.Spring框架
  • 100.微服务
  • Docker
  • K8S
  • 容器原理
  • Istio
  • 数据结构
  • 算法基础
  • 算法题分类
  • 前置知识
  • PyTorch
  • 01.Python
  • 02.GO
  • 03.Java
  • 04.业务问题
  • 05.关键技术
  • 06.项目常识
  • 10.计算机基础
  • Linux基础
  • Linux高级
  • Nginx
  • KeepAlive
  • ansible
  • zabbix
  • Shell
  • Linux内核

逍遥子

不做大哥好多年
首页
  • MySQL
  • Redis
  • Elasticsearch
  • Kafka
  • Etcd
  • MongoDB
  • TiDB
  • RabbitMQ
  • 01.GO基础
  • 02.面向对象
  • 03.并发编程
  • 04.常用库
  • 05.数据库操作
  • 06.Beego框架
  • 07.Beego商城
  • 08.GIN框架
  • 09.GIN论坛
  • 10.微服务
  • 01.Python基础
  • 02.Python模块
  • 03.Django
  • 04.Flask
  • 05.SYL
  • 06.Celery
  • 10.微服务
  • 01.Java基础
  • 02.面向对象
  • 03.Java进阶
  • 04.Web基础
  • 05.Spring框架
  • 100.微服务
  • Docker
  • K8S
  • 容器原理
  • Istio
  • 数据结构
  • 算法基础
  • 算法题分类
  • 前置知识
  • PyTorch
  • 01.Python
  • 02.GO
  • 03.Java
  • 04.业务问题
  • 05.关键技术
  • 06.项目常识
  • 10.计算机基础
  • Linux基础
  • Linux高级
  • Nginx
  • KeepAlive
  • ansible
  • zabbix
  • Shell
  • Linux内核
  • MySQL

  • Redis

  • Elasticsearch

  • Kafka

  • Etcd

  • MongoDB

    • 01.MongoDB基础
    • 02.MongoDB架构原理 ✅
    • 03.MongoDB数据类型
      • 01.MongoDB数据类型
        • 1.1 MongoDB支持以下数据类型
        • 1.2 MongoDB常用类型
      • 02.测试
        • 2.1 创建测试数据
        • 2.2 查询测试
    • 04.基本增删改查
    • 05.复合查询
    • 06.聚合操作
  • TiDB

  • RabbitMQ

  • 数据库
  • MongoDB
xiaonaiqiang
2021-03-03
目录

03.MongoDB数据类型

# 01.MongoDB数据类型

# 1.1 MongoDB支持以下数据类型

  • String(字符串): mongodb中的字符串是UTF-8有效的。

  • Integer(整数): 存储数值。整数可以是32位或64位,具体取决于您的服务器。

  • Boolean(布尔): 存储布尔(true/false)值。

  • Double(双精度): 存储浮点值。

  • Min/ Max keys(最小/最大键): 将值与最低和最高BSON元素进行比较。

  • Arrays(数组): 将数组或列表或多个值存储到一个键中。

  • Timestamp(时间戳): 存储时间戳。

  • Object(对象): 嵌入式文档。

  • Null (空值): 存储Null值。

  • Symbol(符号): 与字符串相同,用于具有特定符号类型的语言。

  • Date(日期): 以UNIX时间格式存储当前日期或时间。

  • Object ID(对象ID) : 存储文档ID。

  • Binary data(二进制数据): 存储二进制数据。

  • Code(代码): 将JavaScript代码存储到文档中。

  • Regular expression(正则表达式): 存储正则表达式

# 1.2 MongoDB常用类型

  • 1、日期类型:date

    • 使用不同方式来创建一个date
    • Date():表示当前时间,插入的是一个字符串类型
    • new Date():插入的是isodate类型,表示的是格林威治标准时间
    • ISODate(): 类似new Date()
  • 2、ObjectId

    • 当插入数据的时候,自动生成一个字段: _id ---> 相当于主键
    • ObjectId是一个12字节的BSON类型的字符串
  • 3、表示数字的时候,注意的问题

    • NumberInt: 表示32位整数
    • NumberDecimal:支持34位小数
    • Double:如果没有指定数字类型默认是double

# 02.测试

# 2.1 创建测试数据

db.test2.insertOne({ "_id" : 1, "val" : NumberDecimal( "9.99" ), "description" : "Decimal" })
db.test2.insertOne({ "_id" : 2, "val" : 9.99, "description" : "Double" })
db.test2.insertOne({ "_id" : 3, "val" : 10, "description" : "Double" })
db.test2.insertOne({ "_id" : 4, "val" : NumberLong(10), "description" : "Long" })
db.test2.insertOne({ "_id" : 5, "val" : NumberDecimal( "10.0" ), "description" : "Decimal" })
1
2
3
4
5

# 2.2 查询测试

# 1、查询表中所有数据
>  db.test2.find()

# 2、数字不指定数据类型时默认是double类型,所以只能查到一条
>  db.test2.find({"val":9.99})
{ "_id" : 2, "val" : 9.99, "description" : "Double" }

# 3、类型为NumberDecimal,值为9.99的数据
>  db.test2.find({"val":NumberDecimal("9.99")})
{ "_id" : 1, "val" : NumberDecimal("9.99"), "description" : "Decimal" }

# 4、对于整数10的匹配,将匹配所有的数据类型是10
>  db.test2.find({"val":10})
{ "_id" : 3, "val" : 10, "description" : "Double" }
{ "_id" : 4, "val" : NumberLong(10), "description" : "Long" }
{ "_id" : 5, "val" : NumberDecimal("10.0"), "description" : "Decimal" }

# 5、对于整数10的匹配,将匹配所有的数据类型是10
>  db.test2.find({"val":NumberDecimal("10")})
{ "_id" : 3, "val" : 10, "description" : "Double" }
{ "_id" : 4, "val" : NumberLong(10), "description" : "Long" }
{ "_id" : 5, "val" : NumberDecimal("10.0"), "description" : "Decimal" }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
上次更新: 2024/4/1 16:53:26
02.MongoDB架构原理 ✅
04.基本增删改查

← 02.MongoDB架构原理 ✅ 04.基本增删改查→

最近更新
01
04.数组双指针排序_子数组
03-25
02
08.动态规划
03-25
03
06.回溯算法
03-25
更多文章>
Theme by Vdoing | Copyright © 2019-2025 逍遥子 技术博客 京ICP备2021005373号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式