2013-03-26 5 views

ответ

5

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()}
  • 32-разрядное целое число иногда называют TINYINT(11), INTEGER, INT, SMALLINT и т.д. в MYSQL и других малые целые типы данных и используется как {d:5}
  • 64-разрядное целое число иногда называют MEDIUMINT и BIGINT в MySQL и используется как {d:new NumberLong("4")}
  • NULL хорошо NULL в MySQL и используется как {d:null}
  • Timestamp не тот, который вы будете публично использовать, поэтому я не буду говорить об этом, это не то, что кажется.
  • Double относится к DECIMAL и FLOAT в MySQL и может использоваться как {d:0.5}, однако из-за точности я рекомендую хранить ваши поплавки и удваивать как целые числа.

И я считаю, что охватывает основные, о которых вам нужно знать.

Довольно немного, поэтому надеемся, что это поможет.

Смежные вопросы