MongoDB: типы данных
Вступление
MongoDB хранит документы на диске в формате сериализации BSON. BSON - это двоичное представление документов JSON, хотя формат данных BSON предоставляет больше типов данных, чем JSON. Оболочка JavaScript mongo и драйверы языка MongoDB переводят между BSON и языковым представлением документов.
BSON поддерживает следующие типы данных в качестве значений в документах. Каждый тип данных имеет соответствующий номер (целочисленный идентификационный номер от 1 до 255), который можно использовать с оператором $ type для запроса документов по типу BSON.
Типы данных MongoDB и соответствующий идентификационный номер
Тип | Описание | Число |
---|---|---|
двойной | Представляет значение с плавающей точкой. | 1 |
строка | Строки BSON являются UTF-8. Обычно драйверы для каждого языка программирования преобразуются из строкового формата языка в UTF-8 при сериализации и десериализации BSON. Это позволяет с легкостью хранить большинство международных символов в строках BSON. [1] Кроме того, запросы регулярного выражения MongoDB $ поддерживают UTF-8 в строке регулярного выражения. | 2 |
объект | Представляет встроенные документы. | 3 |
массив | Наборы или списки значений могут быть представлены в виде массивов: | 4 |
Двоичные данные | Двоичные данные - это строка произвольных байтов, которыми нельзя манипулировать из оболочки. | 5 |
Идентификатор объекта | ObjectIds (идентификатор документа MongoDB, эквивалентный первичному ключу): мал, вероятно уникален, быстро генерируется и упорядочивается. Эти значения состоят из 12 байтов, где первые четыре байта являются отметкой времени, которая отражает создание ObjectId. | 7 |
логический | Логическая правда или ложь. Используйте, чтобы оценить, является ли условие истинным или ложным | 8 |
Дата | Дата BSON - это 64-разрядное целое число, представляющее количество миллисекунд с начала эпохи Unix (1 января 1970 г.). Это приводит к представительному диапазону дат приблизительно 290 миллионов лет в прошлом и будущем. | 9 |
Ноль | Он представляет собой как нулевое значение, так и несуществующее поле. | 10 |
Регулярное выражение | RegExp отображается непосредственно на Javascript RegExp | 11 |
JavaScript | 13 | |
Условное обозначение | Не поддерживается оболочкой. Если оболочка получает символ из базы данных, она преобразует его в строку. | 14 |
JavaScript (с областью действия) | 15 | |
32-разрядное целое число | Числа без десятичных точек будут сохранены как 32-разрядные целые числа. | 16 |
Отметка | BSON имеет специальный тип метки времени для внутреннего использования MongoDB и не связан с обычным типом Date. Значения метки времени - это 64-битное значение, где:
| 17 |
64-разрядное целое число | Числа без десятичной точки будут сохранены и возвращены как 64-разрядные целые числа. | 18 |
Мин ключ | MinKey сравнивают меньше, чем все другие возможные значения элементов BSON, соответственно, и существуют в основном для внутреннего использования. | 255 |
Макс ключ | MaxKey сравнивают больше, чем все другие возможные значения элемента BSON, соответственно, и существуют в основном для внутреннего использования. | 127 |
Сравнение значений разных типов BSON
При сравнении значений различных типов BSON MongoDB использует следующий порядок сравнения, от самого низкого до самого высокого:
порядок | Типы данных |
---|---|
1 | MinKey (внутренний тип) |
2 | Ноль |
3 | Числа (целые, длинные, двойные) |
4 | Символ, Строка |
5 | объект |
6 | массив |
7 | BinData |
8 | ObjectId |
9 | логический |
10 | Дата, отметка времени |
11 | Регулярное выражение |
12 | MaxKey (внутренний тип) |
Предыдущий: Введение в монго Shell
Следующая: Базы данных, документы, коллекции
Новый контент: Composer: менеджер зависимостей для PHP , R программирования