我看到MySQL中的一些数据类型在MongoDB中是没有的,是这样吗?
请给我比较一下 MySQL 和 MongoDB 中的数据类型。
MySQL 的数据类型比 MongoDB 多很多,主要是因为它支持的数据类型更多。
首先要理解的是,所有不是标准字符串或整数的“数据类型”通常都需要包装器,或者更确切地说是对象封装。
一个很好的例子是日期,在 MySQL 中你有DATETIME, DATE, YEAR,TIMESTAMP等等,而 MongoDB 只有ISODate().
实际上不存在直接的翻译表,但是我会尝试为您挖掘出基本的翻译表。
注意:由于某些未知原因,MongoDB 文档实际上已经删除了您可用的数据类型的完整列表,所以我不得不搜索一下隐藏在词汇表中的这个列表:http: //docs.mongodb.org/manual/reference /glossary/#term-bson-types
在查看该列表时,您会注意到的第一件事是,有很多数据类型在 MySQL 本机中不存在,例如“对象”或“数组”:
Binary有时BLOB在 MySQL 中调用,通常通过以下方式访问{d: new BinData($b)}ObjectId是 MongoDB 用于主键类型的特殊 MongoDB 数据类型Stringis VARCHAR, TEXT,LONGTEXT和所有其他字符串类型在 MySQL 中组合在一起,通常用作{d: 'lalalaalala'}.Boolean在 MySQL中通常被称为BOOLor TINYINT(1),它的基本用法如下:{d:true}.Date在 MySQL中被称为TIMESTAMP, DATE, DATETIME,YEAR和所有其他日期类型,使用如下{d: new ISODate()}TINYINT(11)、INTEGER、等,其用法INT如下SMALLINT{d:5}MEDIUMINTandBIGINT{d:new NumberLong("4")}NULLNULL在 MySQL中运行良好,使用起来像{d:null}Timestamp不是你会公开使用的,所以我不会谈论它,它不是听起来的样子。Double与MySQL 相关DECIMAL并且FLOAT可以使用,{d:0.5}但是由于精度,我建议您将浮点数和双精度数存储为整数。我相信这涵盖了您需要了解的主要内容。
有很多,所以希望它有所帮助。