Типы данных MongoDB: руководство по синтаксису

MongoDB хранит документы в формате BSON. Документ — это набор пар «ключ-значение», где каждому значению присвоен тип. BSON хранит значение и его тип. Перед сохранением данных в базу данных MongoDB необходимо указать тип значения. Это делается с помощью синтаксиса типов.

Базовые типы данных

Некоторые типы, например строки, объекты, массивы и булевы значения, не требуют явного указания типа.

  • Двойные кавычки обозначают строку (тип — string).
  • Фигурные скобки — объект (тип — object).
  • Квадратные скобки — массив (тип — array).
  • Ключевые слова true и false — булевы значения (тип — boolean).

Для чисел, ObjectID и дат необходимо указывать тип явно. Без явного указания типа, число будет сохранено как число с плавающей точкой (double). Это связано с тем, что JavaScript, используемый в MongoDB, не различает целые и десятичные числа.

Работа со строками, объектами, массивами и булевыми значениями в Shell

Рассмотрим примеры работы со строками, объектами, массивами и булевыми значениями в MongoDB Shell.

Создадим объект с четырьмя парами ключ-значение:

var obj = {
  a: "",
  b: {},
  c: [],
  d: true
};
print(obj);

Результат: объект с четырьмя парами ключ-значение.

Проверим типы значений с помощью операторов typeof и instanceof:

typeof obj.a; // string
typeof obj.d; // boolean
typeof obj.b; // object
obj.c instanceof Array; // true

Типы string, object, array и boolean не требуют явного указания типа при передаче в MongoDB. Обратите внимание, что используются операторы JavaScript typeof и instanceof, которые определяют типы данных в JavaScript, а не типы BSON. Для этих четырёх типов типы в JavaScript и BSON совпадают.

Идентификаторы типов

MongoDB использует уникальные номера для типов BSON. Эти номера хранятся в формате BSON вместе со значениями, что позволяет выполнять запросы по типу данных.

В статье рассмотрены основные типы данных в MongoDB и их синтаксис в режиме Shell. Приведены примеры работы со строками, объектами, массивами и булевыми значениями, а также объяснена важность указания типа данных для некоторых типов при сохранении данных.

Что будем искать? Например,программа