比如只有几种数据类型:null、Boolean、number、string、array、object。没有日期类型,只有一种数字类型。它无法区分浮点数和整数,也无法表示它们。正则表达式或函数。 BSON 是一种类似 JSON 的二进制存储格式。二进制 JSON 支持嵌入文档对象和数组对象,例如 Date 和 BinData 类型。 MongoDB使用BSON作为文档数据存储和网络传输格式。

MongoDB 数据类型

下表显示了MongoDB中一些常用的数据类型:

详细信息:请参阅 BSON 类型:https://www.sxzhongrui.com/docs/zh/mongodb/v3.6/reference/reference-bson-types.html

数据类型描述
字符串。存储数据常用的数据类型。在 MongoDB 中,UTF-8 编码的字符串是合法的。
整数 整数值。用于存储数值。根据您使用的服务器,它可以是 32 位或 64 位。
布尔值 布尔值。用于存储布尔值(true/false)。
双精度浮点值。用于存储浮点值。
最小/最大键 将值与 BSON(二进制 JSON)元素的最低值和最高值进行比较。
数组 用于存储数组或列表或多个值作为键。
时间戳 时间戳。记录文档修改或添加的具体时间。
物体 用于内联文档。
用于创建空值。
符号 符号。该数据类型与字符串类型基本相同,只是它通常用于使用特殊符号类型的语言中。
日期 日期时间。以 UNIX 时间格式存储当前日期或时间。您可以指定自己的日期和时间:创建一个 Date 对象并传入年、月和日信息。
对象 ID 对象 ID。用于创建文档的 ID。
二进制数据 二进制数据。用于存储二进制数据。
代码 代码类型。用于在文档中存储 JavaScript 代码。
正则表达式 正则表达式类型。用于存储正则表达式。

简单介绍一下几个比较重要的类型:

对象ID

每插入一条数据,系统都会自动插入一个_id键。键值不能重复。它可以是任何类型,也可以手动插入。默认情况下,其数据类型为ObjectId。由于 MongoDB 在设计时最初是作为分布式数据库使用的,因此使用 ObjectId 可以避免不同数据库中 _id 重复(如果使用自增方式,分布式系统中会出现重复的 _id 值)。
ObjectId 使用 12 字节的存储空间。每个字节可以存储两个十六进制数字,因此总共可以存储24个十六进制数字组成的字符串。在这24个字符串中,前8位表示时间戳,接下来的6位是机器码,接下来的4位表示进程id,最后6位表示计数器。

MongoDB使用ObjectId来表示主键的类型。数据库中的每个文档都有一个 _id 字段来表示主键。 _id的生成规则如下:

这包括 4 字节 Unix 时间戳、3 字节机器 ID、2 字节进程 ID、3 字节计数器(随机初始化)

  历史悠久的数据库管理工具,支持多个数据库的集成。它集成了MongoDB类型,是一个付费管理工具。好处是,使用了 DB 版本的 Navicat 后,所有 DB 版本都会非常流畅,并保持一套操作习惯。如果你能记住一些快捷键,效率会更高。

Robo 3T(Robomong)

官网下载地址:https://www.sxzhongrui.com/

  Robo 3T 前身为 Robomongo,后被 3T 公司收购。它是一个免费、开源的 GUI 管理工具。支持 MongoDB 4.0+、轻量级 GUI、支持语法填充等。适用于 Windows、macOS 和 Linux 系统。

Studio 3T

官网下载地址:https://www.sxzhongrui.com/download/

  超过 100,000 名开发人员和数据库管理员选择使用 Studio 3T 作为 MongoDB GUI。 Studio 3T 是一款付费工具,有 30 天的免费试用期。 Studio 3T具有更强大的功能,并提供企业支持服务。支持副本集、独立主机和分片集群连接,支持导入导出、SQL查询、语法填充。支持 MongoDB 4.0+ 及更高版本。适用于 Windows、macOS 和 Linux。

MongoDB Compass

官网下载地址:https://www.sxzhongrui.com/try/download/compass

官网教程:https://www.sxzhongrui.com/docs/manual/reference/connection-string/

  MongoDB儿子系列,其官方推出的GUI可视化管理工具,功能有限。免费简单,不支持SQL查询,支持性能监控。适用于 Windows、macOS 和 Linux 系统。

适用于 MongoDB 的 NoSQLBooster

官网下载地址:https://www.sxzhongrui.com/downloads

  NoSQLBooster for MongoDB(以前称为MongoBooster)风格与EasyUI有些相似,支持副本集、独立主机和分片集群连接,并提供全面的服务器监控工具、流畅的查询构建器、SQL查询、查询代码和任务调度。 、ESNext 支持、真正的 IntelliSense 体验等等。提供付费和免费版本。适用于 Windows、macOS 和 Linux 系统。

适用于 MongoDB Professional 的 NoSQL 管理器

官网下载地址:https://www.sxzhongrui.com/download

  完全支持 MongoDB 和 MongoDB Enterprise 版本(从 2.2 到 4.4)。全功能的 MongoDB UI Shell。具有代码自动完成、语法突出显示和提示功能。支持副本集、独立主机和分片集群连接、导入和导出、简单查看和管理所有 MongoDB 对象:数据库、集合、视图、索引、用户、角色和功能等。提供付费和免费版本。

参考文章

MongoDB概念解析

MongoDB GUI可视化客户端管理工具推荐