Я видел, что некоторые типы данных в MySQL не находятся в MongoDB, не так ли?Сравнение типов данных Mongodb и Mysql
Просьба дать мне сравнение типов данных в MySQL и MongoDB.
Я видел, что некоторые типы данных в MySQL не находятся в MongoDB, не так ли?Сравнение типов данных Mongodb и Mysql
Просьба дать мне сравнение типов данных в MySQL и MongoDB.
MySQL имеет гораздо больше типов данных, чем MongoDB, главным образом потому, что он поддерживает больше типов данных.
Первое, что нужно понять, это то, что все «типы данных», которые не являются стандартной строкой или целым числом, обычно требуют оболочек или, скорее, инкапсуляции объектов.
Хорошим примером здесь является дата, в MySQL у вас есть DATETIME
, DATE
, YEAR
, TIMESTAMP
и так далее, тогда как MongoDB просто имеет ISODate()
.
На самом деле нет прямой таблицы переводов, однако я попытаюсь выкопать основные для вас.
Примечание: по неизвестной причине MongoDB документация фактически вынимает полный список типов данных, доступный для вас, так что я должен был искать вокруг немного для этого списка скрыт в глоссарии: http://docs.mongodb.org/manual/reference/glossary/#term-bson-types
Первый что вы заметите при взгляде на этот список является то, что существует много типов данных, которые не существуют в MySQL изначально, такие как «объект» или «Array», однако:
Binary
иногда называют BLOB
в MySQL и обычно доступен v Анджелес {d: new BinData($b)}
ObjectId
представляет собой особый тип данных MongoDB используется MongoDB для первичного ключа типовString
является VARCHAR
, TEXT
, LONGTEXT
и всех тех других типов строк, объединенных в MySQL и, как правило, используются как {d: 'lalalaalala'}
.Boolean
обычно известен как BOOL
или TINYINT(1)
в MySQL и в основном используется как: {d:true}
.Date
известна как TIMESTAMP
, DATE
, DATETIME
, YEAR
и всех тех других типов дат в MySQL и используется как {d: new ISODate()}
TINYINT(11)
, INTEGER
, INT
, SMALLINT
и т.д. в MYSQL и других малые целые типы данных и используется как {d:5}
MEDIUMINT
и BIGINT
в MySQL и используется как {d:new NumberLong("4")}
NULL
хорошо NULL
в MySQL и используется как {d:null}
Timestamp
не тот, который вы будете публично использовать, поэтому я не буду говорить об этом, это не то, что кажется.Double
относится к DECIMAL
и FLOAT
в MySQL и может использоваться как {d:0.5}
, однако из-за точности я рекомендую хранить ваши поплавки и удваивать как целые числа.И я считаю, что охватывает основные, о которых вам нужно знать.
Довольно немного, поэтому надеемся, что это поможет.