首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mongodb和Mysql数据类型比较

Mongodb和Mysql数据类型比较
EN

Stack Overflow用户
提问于 2013-03-26 16:52:46
回答 1查看 2.2K关注 0票数 4

我看到MySQL中的一些数据类型不是在MongoDB中,是吗?

请比较一下MySQL和MongoDB中的数据类型。

EN

回答 1

Stack Overflow用户

发布于 2013-03-26 18:17:30

MySQL比MongoDB有更多的数据类型,主要是因为它支持更多的数据类型。

首先要理解的是,所有不是标准字符串或整数的“数据类型”通常都需要包装器,或者是对象封装。

这里的一个很好的例子是日期,在MySQL中有DATETIMEDATEYEARTIMESTAMP等等,而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数据类型。
  • StringVARCHARTEXTLONGTEXT和在MySQL中组合的所有其他字符串类型,通常像{d: 'lalalaalala'}一样使用。
  • Boolean通常在MySQL中被称为BOOLTINYINT(1),它基本上用于:{d:true}
  • Date被称为TIMESTAMPDATEDATETIMEYEAR和MySQL中的所有其他日期类型,并像{d: new ISODate()}一样使用。
  • 32位整数有时在MYSQL和其他小整数数据类型中被称为TINYINT(11)INTEGERINTSMALLINT等,并类似于{d:5}
  • 64位整数有时在MEDIUMINTBIGINT中被称为MySQL,并像{d:new NumberLong("4")}一样使用。
  • NULL在MySQL中是很好的NULL,并且使用起来像{d:null}一样
  • Timestamp不是你要公开使用的,所以我不会谈论它,它不是它听起来的样子。
  • Double与MySQL中的DECIMALFLOAT相关,可以像{d:0.5}一样使用,但是由于精度原因,我建议您将浮点数和双数存储为整数。

我相信这包括了你需要了解的主要问题。

希望能帮上忙。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15642875

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档