我看到MySQL中的一些数据类型不是在MongoDB中,是吗?
请比较一下MySQL和MongoDB中的数据类型。
发布于 2013-03-26 18:17:30
MySQL比MongoDB有更多的数据类型,主要是因为它支持更多的数据类型。
首先要理解的是,所有不是标准字符串或整数的“数据类型”通常都需要包装器,或者是对象封装。
这里的一个很好的例子是日期,在MySQL中有DATETIME、DATE、YEAR、TIMESTAMP等等,而MongoDB只有ISODate()。
实际上并不存在直接的翻译表,但是,我将尝试为您挖掘出基本的表。
备注:由于一些未知的原因,MongoDB文档实际上获取了您可以使用的数据类型的完整列表,因此我不得不在术语表:http://docs.mongodb.org/manual/reference/glossary/#term-bson-types中搜索隐藏的列表。
在查看该列表时,首先要注意的是,在MySQL中存在许多本机不存在的数据类型,例如"Object“或"Array”:
Binary有时在MySQL中称为BLOB,通常通过{d: new BinData($b)}访问。ObjectId是MongoDB为主键类型使用的一种特殊的MongoDB数据类型。String是VARCHAR、TEXT、LONGTEXT和在MySQL中组合的所有其他字符串类型,通常像{d: 'lalalaalala'}一样使用。Boolean通常在MySQL中被称为BOOL或TINYINT(1),它基本上用于:{d:true}。Date被称为TIMESTAMP、DATE、DATETIME、YEAR和MySQL中的所有其他日期类型,并像{d: new ISODate()}一样使用。TINYINT(11)、INTEGER、INT、SMALLINT等,并类似于{d:5}。MEDIUMINT和BIGINT中被称为MySQL,并像{d:new NumberLong("4")}一样使用。NULL在MySQL中是很好的NULL,并且使用起来像{d:null}一样Timestamp不是你要公开使用的,所以我不会谈论它,它不是它听起来的样子。Double与MySQL中的DECIMAL和FLOAT相关,可以像{d:0.5}一样使用,但是由于精度原因,我建议您将浮点数和双数存储为整数。我相信这包括了你需要了解的主要问题。
希望能帮上忙。
https://stackoverflow.com/questions/15642875
复制相似问题